2015-09-23 30 views
1

我正嘗試在Android Wear設備上使用UsageStatsManager。如何在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?

回答

1

用法權限意圖在Wear上是不可能的。

Overlay(Settings.canDrawOverlays())同樣適用,但至少可以使用較低的目標來克服它。

此外,與最新的Android N模擬器,這是不解決。

相關問題