我正在使用eclipse Indigo进行Android开发。 这可能听起来有点疯狂,但是 在eclipse中是否有任何功能会在应用程序运行时自动截取每个屏幕的屏幕截图? 或者这是否需要以编程方式完成? 实际上我想要的是,我需要在我的应用程序中的所有屏幕的屏幕截图。 我想避免使用DDMS透视手动获取它们。
任何信息都会有所帮助。 提前致谢。
答案 0 :(得分:2)
eclipse中是否会有任何自动占用的功能 应用程序运行时每个屏幕的屏幕截图?
是的,如果您
,可以截取屏幕截图打开Android视图“设备”(在Window - > Show View - >下; 其他...... - > Android - >设备)。单击设备或模拟器 你想拍一个屏幕截图,然后点击“屏幕截图” 按钮(它看起来像一个小图片,它应该在旁边 停止标志按钮)。有时设备不会立即加载 图片;有时您必须关闭/重新打开屏幕捕获窗口。
这相当于通过DDMS拍照,但您可以在Eclipse中执行,而不是打开另一个应用程序。
这是否需要以编程方式完成?
是,您也可以按照以下代码建议的方式进行操作。
// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString() + "/" + ACCUWX.IMAGE_APPEND;
// create bitmap screen capture
Bitmap bitmap;
View v1 = mCurrentUrlMask.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
OutputStream fout = null;
imageFile = new File(mPath);
try {
fout = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fout);
fout.flush();
fout.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
然后,当你需要访问时使用这样的东西:
Uri uri = Uri.fromFile(new File(mPath));
答案 1 :(得分:0)