如何使用此库截取Android(模拟器)的截图并在哪里可以获取屏幕截图
我已经安装了此库http://code.google.com/p/android-screenshot-library/。如何使用此库截取Android(模拟器)的截图并在哪里可以获取屏幕截图
我已经启动了我的Android模拟器,当我运行run.sh文件时它说“服务开始成功”。
我该怎么做或我在哪里可以得到我的模拟器的屏幕截图。我正在使用所有最新版本。谢谢。
import pl.polidea.asl.*;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.res.Resources.NotFoundException;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.graphics.*;
public class ScreenshotDemo extends Activity {
/*
* The ImageView used to display taken screenshots.
*/
private ImageView imgScreen;
private ServiceConnection aslServiceConn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
aslProvider = IScreenshotProvider.Stub.asInterface(service);
}
};
private IScreenshotProvider aslProvider = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgScreen = (ImageView)findViewById(R.id.imgScreen);
Button btn = (Button)findViewById(R.id.btnTakeScreenshot);
btn.setOnClickListener(btnTakeScreenshot_onClick);
// connect to ASL service
//Intent intent = new Intent(ScreenshotService.class.getName());
Intent intent = new Intent();
intent.setClass(this, ScreenshotService.class);
//intent.addCategory(Intent.ACTION_DEFAULT);
bindService (intent, aslServiceConn, Context.BIND_AUTO_CREATE);
}
@Override
public void onDestroy() {
unbindService(aslServiceConn);
super.onDestroy();
}
private View.OnClickListener btnTakeScreenshot_onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
if (aslProvider == null)
Toast.makeText(ScreenshotDemo.this, R.string.n_a, Toast.LENGTH_SHORT).show();
else if (!aslProvider.isAvailable())
Toast.makeText(ScreenshotDemo.this, R.string.native_n_a, Toast.LENGTH_SHORT).show();
else {
String file = aslProvider.takeScreenshot();
if (file == null)
Toast.makeText(ScreenshotDemo.this, R.string.screenshot_error, Toast.LENGTH_SHORT).show();
else {
Toast.makeText(ScreenshotDemo.this, R.string.screenshot_ok, Toast.LENGTH_SHORT).show();
Bitmap screen = BitmapFactory.decodeFile(file);
imgScreen.setImageBitmap(screen);
}
}
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// squelch
}
}
};
}
1)。这段代码将屏幕截图缓冲区发送到无论显示在屏幕上的电脑上2)。这个代码应该被编译和运行,是否应该安装在模拟器中......实际上我的项目是ScreenCast – albert 2012-03-21 08:36:32
打开Eclipse>打开DDMS视图>选择您的模拟器淘汰名单>按近,你从列表中
希望你觉得它选择模拟器的小闪烁的相机图标。
I想要一个代码,将启动一个服务,将发送给我什么显示在模拟器(手机)到PC在一个帧缓冲区,实际上我的项目是ScreenCast – albert 2012-03-21 08:34:56
DDMS具有截取视图截图的功能。
在Eclipse中,打开DDMS透视图并单击设备布局中的屏幕截图图标。
我想要一个代码,将启动一个服务,将发送给我无论显示在模拟器(手机)到PC缓冲区,实际上我的项目是ScreenCast – albert 2012-03-21 08:40:05
使用eclipse IDE吗? – Hitendra 2012-03-20 07:20:45
@Hitendra不,我直接从终端使用adb运行..我想截取手机上正在运行的任何活动的屏幕截图。实际上我的项目是ScreenCast – albert 2012-03-21 08:33:42
嘿Albert!你有答案吗?如果是的话,请指导。 – user1517153 2014-03-14 05:32:59