以编程方式在安卓12的三星手机上打开无障碍权限屏幕。

5

我的安卓应用程序请求辅助功能权限。在旧版本的安卓系统上,下面的代码可以打开正确的辅助功能权限屏幕。但是在测试安卓12的三星手机上,它不起作用。

private void launchPermission() {
        AppOpsManager ops = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
        Intent intent = new Intent("android.settings.ACCESSIBILITY_SETTINGS");
        startActivity(intent);
}

你能帮我解决这个问题吗?


为什么你要使用 startActivityForResultstartActivity 就足够了。 - Mouaad Abdelghafour AITALI
这是真的。已更新! - araraujo
2个回答

0

请按以下步骤进行检查:

  1. 在AndroidManifest.xml文件中声明:

    <uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />

  2. 请求辅助权限:

    Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivity(intent);


0

要在Android上请求辅助功能权限,您可以像这样操作:

private final int requestCodeForAccessbility = 32423; //This can be any random number;

private void requestAccessiblityPermission() {
   Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
   getActivity().startActivityForResult(intent, requestCodeForAccessibility);
}

在你的onActivityResult中,你可以检查AccessibilityPermission是否已启用:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    try {
            if (requestCode == requestCodeForAccessibility) {
                //Check if accessibility service is turned on or off.
            }
        } catch (Exception ex) {
            //Handle errors
        }

    }

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