我想在按钮点击时拍摄设备屏幕快照的快照。请提供一些代码示例而不是链接。
提前致谢。
答案 0 :(得分:4)
我得到了我的问题的答案。 Actualy我得到位图为null。但我找到了原因和解决方案。
View v = findViewById(R.id.attachments_list);
v.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a dimension of 0,0 and the bitmap will
// be null
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
v.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(v.getDrawingCache());
答案 1 :(得分:1)
您无法使用设备的屏幕截图(未植根),但可以在应用程序中使用。
下面是截取应用程序屏幕截图并在SD卡中保存文件的代码。
mLayoutRoot.setDrawingCacheEnabled(true); //mLayoutRoot is your Parent Layout(may be RelativeLayout, LinearLayout or etc..)
mLayoutRoot.buildDrawingCache();
Bitmap mBitmap= mLayoutRoot.getDrawingCache();
try {
if(mBitmap!=null)
{
FileOutputStream out = new FileOutputStream("/sdcard/filename.png"));
mBitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
out.flush();
out.close();
}
} catch (Exception e) {}