
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万+私信 关注 总结以上是内存溢出为你收集整理的Android 各种截屏方法全部内容,希望文章能够帮你解决Android 各种截屏方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)