Как использовать UsageStatsManager на Android Wear

Я пытаюсь использовать UsageStatsManager на устройстве Android 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 на часах?

1 ответ

Решение

Намерение разрешения использования не возможно на Изнашивании.

То же самое относится и к Overlay (Settings.canDrawOverlays()), хотя, по крайней мере, вы можете использовать более низкую цель для ее преодоления.

Также с последним эмулятором Android N это не решено.

Другие вопросы по тегам