Я добавил «android .permission.PACKAGE_USAGE_STATS» в манифест. xml
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions"/>
и проверяю, разрешено ли разрешение пользователем.
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
public static boolean checkUsageServicePermission(Context context) {
AppOpsManager appOps = (AppOpsManager) context
.getSystemService(Context.APP_OPS_SERVICE);
int mode = appOps.checkOpNoThrow("android:get_usage_stats",
android.os.Process.myUid(), context.getPackageName());
boolean granted = mode == AppOpsManager.MODE_ALLOWED;
return granted;
}
Если разрешение не разрешено, запустите приложение настроек
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
registrar.activeContext().startActivity(intent);
Но на некоторых устройствах мое приложение не отображается в списке настроек доступа к данным об использовании.
Очень мало, пользователь не может включить мое приложение, требующее разрешения. Есть кто-нибудь, кто решит эту проблему?