Доступ к Android для Android 5 устройств Samsung

Как вы, возможно, знаете, начиная с Android 5, доступ к последним задачам (статистика использования) вашего устройства требует, чтобы пользователь включил эту функцию вручную (Настройки- > Безопасность- > Доступ к использованию).

Мое приложение проверяет, использует ли устройство Android 5, и если да, то он предлагает пользователю возможность открыть экран настроек для обеспечения доступа к использованию:

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

Проблема возникает, когда я пытаюсь сделать это на устройстве Samsung под управлением Android 5... Я получил эту ошибку, когда строка, показанная выше, выполнена:

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)

Кажется, что действие Settings.ACTION_USAGE_ACCESS_SETTINGS не реализовано, что странно, потому что если вы перейдете к настройкам, чтобы включить приложение для доступа к этой статистике использования, есть...

Любая идея, как исправить эту проблему для этого конкретного случая?

Ответ 1

Прошу прощения за последнее время, надеюсь, вы нашли хорошее решение, но если нет или для других людей, у которых есть эта проблема,

эта ошибка, похоже, существует в некоторых моделях Samsung, чтобы избежать краха вашего приложения, возможно, вы можете проверить, можно ли обрабатывать ваше намерение

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();
}