Android Wear デバイスで UsageStatsManager を使用しようとしています。
私がしたこと:
携帯電話で実行しているモバイル アプリで許可をリクエストしています。ユーザーから許可が与えられた後、使用統計データにアクセスできます。次に、wear アプリで UsageStatsManager を作成し、そこにある使用統計データにアクセスしようとしました。しかし、当番ではそれをする権限がなく、許可を求めることができません。私が使用したユーザーによって許可が与えられたかどうかを確認するには:
private boolean isPermissionGranted(){
try{
PackageManager packageManager = getPackageManager();
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
AppOpsManager appOpsManager = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
int mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, applicationInfo.uid, applicationInfo.packageName);
return mode == AppOpsManager.MODE_ALLOWED;
}catch(PackageManager.NameNotFoundException e){
return false;
}
}
これは、電話では true を返しますが、時計では false を返します。
問題:
電話で UsageStatsManager を使用する許可をユーザーに求めることはできますが、設定が存在しないため、時計ではそれを行うことができません。時計で UsageStatsManager を実行できるかどうかは誰にもわかりませんか?