我正试图在安卓磨损设备上使用UsageStatsManager。
我所做的:
我在我手机上运行的移动应用程序上请求许可。在用户授予权限后,我可以访问使用率统计数据。然后,我在磨损应用程序上创建了一个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;
}
}这在电话中返回为真,在手表上返回为假。
问题:
我可以请求用户允许我在手机上使用UsageStatsManager,但是我不能在手表上这样做,因为设置不存在。有没有人知道是否有可能让UsageStatsManager在手表上运行?
发布于 2016-07-10 18:28:19
使用许可意图在穿戴上是不可能的。
覆盖(Settings.canDrawOverlays())也是如此,不过至少您可以使用较低的目标来克服它。
另外,对于最新的Android仿真器,这个问题还没有得到解决。
https://stackoverflow.com/questions/32743766
复制相似问题