Android 13 受限设置(辅助功能)API

4

我已经测试过 Android 13 设备,发现其中一些设备使用了“受限制的设置”,而其他设备则没有。我想编写程序来检查当前设备是否具有该功能。是否有相应的 API 可以使用?


你可以查看这份官方文档:https://developer.android.com/about/versions/13/behavior-changes-13 - undefined
1
@MohammadMisbah 谢谢你,但我还没有看到与无障碍限制和/或API相关的任何内容。 - undefined
好的,@Sharon - 你能解释一下你的使用情况吗?如果有需要,我很乐意提供帮助。 - undefined
1
@MohammadMisbah 我的应用程序不是来自Play市场,它需要辅助功能权限。由于Android 13引入了受限设置并且无法轻松打开辅助功能,我想帮助我的客户打开它(应用信息-> 3个点->禁用受限制)。正如我所说,一些测试设备包括RS功能,而其他设备则没有。总之,我正在寻找一种方法来知道当前的Android 13设备是否具有RS功能(这样我就会知道是否需要指导客户)。 - undefined
@FLASHCODER 没有,据我所知没有直接的方法。 - undefined
显示剩余2条评论
1个回答

0

enter image description here

我也有这个问题,所以我会尝试解释一下,以便有人能帮助。
基本上,我们需要检测在Android 13上是否禁用了服务,这样我们就可以将用户导航到设置页面,以便他们可以启用不安全权限,然后启用该服务。
有没有一些设置变量可以使用。
通过这个视频更好地演示https://www.youtube.com/watch?v=0bcLjpfrmHw 但我相信我在一篇帖子中找到了答案。
public static boolean hasAccessRestrictedPerm(Context context) {
try {
    PackageManager packageManager = context.getPackageManager();
    ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0);
    AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
    int mode = appOpsManager.checkOpNoThrow("android:access_restricted_settings", applicationInfo.uid, applicationInfo.packageName);
    return (mode == AppOpsManager.MODE_ALLOWED);
} catch (PackageManager.NameNotFoundException e) {
    return false;
}

}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接