使用场景
申请各种权限, 以及一些坑
autojs版本
截图权限
申请截图代码
if (!requestScreenCapture()) { toastLog("请求截图权限 失败"); } else { toastLog("请求截图权限 成功"); }
执行以上代码后, 正常应该弹出一个框, 让用户选择是否允许截图
但是有的时候, 不会弹出这个界面, 这个时候,
你就要去 设置-->应用管理-->AutoJsPro-->权限管理-->后台弹出界面-->允许
autojs版本号8.8.12更新日志
更新 shizuku相关API到最新版本
新增 images.getScreenCaptureOptions()查询当前截图配置
新增 images.stopScreenCapture()停止截图
// false表示没有截图权限, true表示有截图权限 log(!!images.getScreenCaptureOptions()); log(images.getScreenCaptureOptions()) requestScreenCapture() log(images.getScreenCaptureOptions()) images.stopScreenCapture() log(images.getScreenCaptureOptions()) requestScreenCapture({async: true}); log(images.getScreenCaptureOptions()) images.stopScreenCapture() log(images.getScreenCaptureOptions())
悬浮窗权限
判断是否有悬浮窗权限的代码
floaty.checkPermission();
返回一个布尔值, true就是有权限, false就是没有权限
如果没有, 我们就需要提示用户, 使用app需要悬浮窗权限, 然后跳转悬浮窗权限设置界面, 方便用户勾选
跳转悬浮窗权限设置界面代码
app.startActivity({ packageName: "com.android.settings", className: "com.android.settings.Settings$AppDrawOverlaySettingsActivity", data: "package:" + context.getPackageName(), });
后台自启权限
以华为手机为例, 跳转启动管理页面的代码
let intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); let pkg = "com.huawei.systemmanager"; let cls = "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity"; let componentName = new android.content.ComponentName(pkg, cls); intent.setComponent(componentName); context.startActivity(intent);
下面的权限列表
●后台弹出界面权限
●忽略电池优化权限
●可修改系统设置权限
●通知使用权限
●无障碍权限
●GPS是否为打开状态
●申请普通权限
●调用摄像头权限
●申请权限回调
●跳转应用信息页