As you might know, since Android 5 was launched, accessing the recent tasks (usage stats) of your device requires the user to enable this feature manually (Settings->Security->Usage Access).
My app checks if the device uses Android 5, and if so, then it offers the user the possibility of opening the settings screen for enabling usage access:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivityForResult(intent, 12345);
The problem comes when I try to do this in a Samsung device running Android 5... I got this error when the line shown above is executed:
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)
It seems that the Settings.ACTION_USAGE_ACCESS_SETTINGS action has not been implemented, which is weird because if you go to Settings the option to enable the app to access this usage stats is there...
Any idea of how to fix this problem for this specific case?
I/ActivityManager(18815): START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings (has extras)} from pid 12226 D/audio_hw_primary(18477): select_devices: out_snd_device(2: speaker) in_snd_device(0: ) D/SubSettings(12226): Launching fragment com.android.settings.OwnerInfoSettings
That way one can create an Intent that opens the exact page – Sciaticintent.setComponent(new ComponentName("com.android.settings", ".SubSettings"));
it doesnt work. It saysUnable to find explicit activity class {com.android.settings/.SubSettings}
... – ParticipleI/ActivityManager: START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings (has extras)} from uid 1000 on display 0 D/SubSettings: Launching fragment com.android.settings.UsageAccessSettings D/SettingsPreferenceFragment: intent.hasExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT : true D/SettingsPreferenceFragment: fragmentName : com.android.settings.UsageAccessSettings I/ActivityManager: Displayed com.android.settings/.SubSettings: +145ms
– Calkinscom.android.settings/.SubSettings
isn't exported. – Calkins