1

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 を実行できるかどうかは誰にもわかりませんか?

4

1 に答える 1

1

Wear では使用許可インテントを使用できません。

オーバーレイ (Settings.canDrawOverlays()) についても同じことが言えますが、少なくともそれを克服するために低いターゲットを使用できます。

また、最新の Android N エミュレーターでも、これは解決されていません。

于 2016-07-10T18:28:19.157 に答える