私は同じ問題に遭遇しました。Samsung S5 Lollipop の使用統計は、次のコードでは機能しませんでした:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
ただし、使用統計は実際に存在します。次のコードを使用すると、セキュリティ設定を開くことができます。
Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$SecuritySettingsActivity"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
一番下までスクロールすると、使用統計があります。また、ログを調べ、使用統計を押すと、UsageStats フラグメントを含む SubActivity に移動します。次のコードを試しました:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.SubSettings"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
しかし、セキュリティ例外が発生しました。問題は、SubActivity を export としてマークしなかったことです。私が知る限り、SubActivity を直接開始することはできません (使用統計ウィンドウ) 。唯一の解決策は、ユーザーを Secury 設定に連れて行くことです。ユーザーは手動で使用統計ビューに移動してアプリを有効にするように指示されます。
誰かがより良い解決策を見つけたら、それは素晴らしいことです!