我的 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 上请求辅助功能权限,您可以这样做:
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
}
}
检查以下步骤:
在AndroidManifest.xml文件中声明:
请求无障碍权限:
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);