uso superior studio puedo programacion permitir permisos para debe datos dar applock aplicaciones administrador acceso android android-5.0-lollipop samsung-mobile usage-statistics

superior - Acceso de uso de Android para dispositivos Android 5 Samsung



permisos android studio (1)

Como sabrá, desde el lanzamiento de Android 5, el acceso a las tareas recientes (estadísticas de uso) de su dispositivo requiere que el usuario habilite esta función manualmente (Configuración-> Seguridad-> Acceso de uso).

Mi aplicación comprueba si el dispositivo utiliza Android 5 y, si es así, ofrece al usuario la posibilidad de abrir la pantalla de configuración para habilitar el acceso de uso:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); startActivityForResult(intent, 12345);

El problema surge cuando trato de hacer esto en un dispositivo Samsung que ejecuta Android 5 ... Recibí este error cuando se ejecuta la línea que se muestra arriba:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.USAGE_ACCESS_SETTINGS } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499) at android.app.Activity.startActivityForResult(Activity.java:3913)

Parece que la acción Settings.ACTION_USAGE_ACCESS_SETTINGS no se ha implementado, lo cual es extraño porque si ingresas a Settings, la opción para habilitar la aplicación para acceder a estas estadísticas de uso está ahí ...

¿Alguna idea de cómo solucionar este problema para este caso específico?


Perdón por el retraso, espero que haya encontrado una buena solución, pero si no, o para otras personas que tienen este problema

Este error parece existir en algunos modelos de Samsung, para evitar el bloqueo de su aplicación, tal vez pueda verificar si su intención puede ser manejada

PackageManager packageManager = getActivity().getPackageManager(); if (intent.resolveActivity(packageManager) != null) { startActivity(intent); } else { Toast.makeText(getBaseContext(), "Please open settings, your model can''t be forced to open it", Toast.LENGTH_LONG).show(); }