好友
阅读权限10
听众
最后登录1970-1-1
|
首先声明,甲方提的需求,他们自己内部app,进行反馈时使用,说是员工水平普遍不高,app做成各种弹出申请权限手工设置的,一堆人搞不定,所以要这个
请各位讨论技术问题
网上有说 用 反射调用 android.view.SurfaceControl 的 screenshot 方法
试了下,虽然在高低版本手机,都不会catch到exception,但最后都返回null
private Bitmap screenShotByReflect() {
try {
Class<?> demo = Class.forName("android.view.SurfaceControl");
// 安卓8.0左右的低版本 的screenshot函数是2个参数
// DisplayMetrics mDisplayMetrics = new DisplayMetrics();
// float[] dims = {mDisplayMetrics.widthPixels, mDisplayMetrics.heightPixels};
// Method method = demo.getDeclaredMethod("screenshot", int.class, int.class);
// return (Bitmap) method.invoke(null, (int) dims[0], (int) dims[1]);
// 高版本安卓系统,比如 安卓11改为4个参数的函数
Method method = demo.getDeclaredMethod("screenshot", Rect.class, int.class, int.class, int.class);
return (Bitmap) method.invoke(null, new Rect(), 0, 0, Surface.ROTATION_0);
} catch (Exception e) {
e.printStackTrace();
return null;
}
} |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|