以编程方式使用 android 12 在三星上打开辅助功能权限屏幕

问题描述 投票:0回答:2

我的 android 应用程序请求访问权限。在旧版本的 android 上,下面的代码打开 正确的无障碍权限屏幕。但是在三星 android 12 上测试,它不起作用。

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

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

android accessibilityservice android-12
2个回答
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
中,您可以检查是否启用了AccessiblityPermission:

@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
        }

    }

0
投票

检查以下步骤:

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

  2. 请求无障碍权限:

    Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS); 启动活动(意图);

这是您可以尝试在装有 Android 12 的三星设备上打开辅助功能权限屏幕的替代方法:

Intent intent = new Intent();
intent.setAction("com.samsung.accessibility.intent.action.SHORTCUT");
intent.putExtra("ShortcutIntent", new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS));
startActivity(intent);
© www.soinside.com 2019 - 2024. All rights reserved.