2015-09-23 31 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模拟器,这是不解决。

相关问题