2
我想從我的android應用拍攝一張照片,但由於我當前的Activity中有videoView,所以我得到一張黑色圖像。我怎麼能沒有root權限?我怎樣才能調用android截圖系統?
波紋管代碼即可獲得我目前的觀點:
在我的主要活動:
saveBitmap(tackeScreenshot());
和方法使用:
public Bitmap takeScreenshot() {
View rootView = findViewById(android.R.id.content).getRootView();
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}
public void saveBitmap(Bitmap bitmap) {
File imagePath = new File("/sdcard/image.png");
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
Functions.Log("saveBitmap", e.getMessage());
} catch (IOException e) {
Functions.Log("saveBitmap", e.getMessage());
}
}
參見[這個](http://stackoverflow.com/a/27454425/3531756)。 – 2015-03-02 12:35:27
在'takeScreenshot()'中,你不會返回正確的類型。你應該返回一個**位圖**。但是,您返回**視圖**,而是。這不是'saveBitmap()'所期望的。 – 2015-03-02 12:48:32