要制作屏幕截图,我使用此代码:
Process sh = Runtime.getRuntime().exec("su", null,null);
OutputStream os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
os.flush();
os.close();
sh.waitFor();
但这很慢!也许是因为手机正在保存此图像。 要获得此位图,我使用以下代码:
bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+
File.separator +"img.png");
但那很慢!有可能获得位图但不能保存吗?也许它会快得多?
答案 0 :(得分:1)
这里你去View.getDrawingCache()返回当前绘制的视图表面。
view.setsetDrawingCacheEnabled(true);
final Bitmap screenshot = view.getDrawingCache();
view.setDrawingCacheEnabled(false);
//use bitmap