android平板截屏方法,Android 各种截屏方法
1 應用內截屏(無SurfaceView, TextureView)
boolean cacheEnable = captureView.isDrawingCacheEnabled();
captureView.setDrawingCacheEnabled(true);
captureView.buildDrawingCache();
Bitmap bitmap = captureView.getDrawingCache();
cache[0] = Bitmap.createBitmap(bitmap);
captureView.setDrawingCacheEnabled(cacheEnable);
2 應用內截屏.需要權限android.permission.READ_FRAME_BUFFER
Display display = ((WindowManager)captureView.getContext()
.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getRealMetrics(displayMetrics);
Bitmap bitmap = SurfaceControl.screenshot(displayMetrics.widthPixels,
displayMetrics.heightPixels);
3 Android 9.0
PixelCopy.request(window, bitmap, new PixelCopy.OnPixelCopyFinishedListener() {
@Override
public void onPixelCopyFinished(int copyResult){
if (PixelCopy.SUCCESS == copyResult) {
// onSuccessCallback(bitmap)
} else {
// one rrorCallback()
}
}
}, new Handler());
4 讀 framebuffer
String DEVICE_NAME = "/dev/graphics/fb0";
File deviceFile = new File(DEVICE_NAME);
Process localProcess = Runtime.getRuntime().exec("supersu");
String str = "cat " + deviceFile.getAbsolutePath() + "\n";
localProcess.getOutputStream().write(str.getBytes());
return localProcess.getInputStream();
5 拼接TextureView (TODO)
TangGeeA
發布了116 篇原創文章 · 獲贊 22 · 訪問量 9萬+
私信
關注
標簽:captureView,bitmap,截屏,displayMetrics,new,Android,Bitmap,方法,PixelCopy
來源: https://blog.csdn.net/woai110120130/article/details/104185482
總結
以上是生活随笔為你收集整理的android平板截屏方法,Android 各种截屏方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微型计算机原理risc,微型计算机原理习
- 下一篇: resnet50网络结构_AAAI202