如何在 Android Wear 上使用 UsageStatsManager
How to use UsageStatsManager on Android Wear
我正在尝试在 Android Wear 设备上使用 UsageStatsManager。
我做了什么:
我正在 phone 上 运行 的移动应用程序上请求权限。在用户授予权限后,我可以访问使用情况统计数据。
然后我在 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;
}
}
这 returns 在 phone 上是正确的,但在手表上是错误的。
问题:
我可以请求用户允许在 phone 上使用 UsageStatsManager,但我不能在手表上这样做,因为该设置不存在。有没有人想出是否可以在手表上获取 UsageStatsManager 运行?
在 Wear 上无法使用许可意图。
Overlay (Settings.canDrawOverlays()) 也是如此,但至少您可以使用较低的目标来克服它。
还有最新的 Android N 模拟器,这个问题没有解决。
我正在尝试在 Android Wear 设备上使用 UsageStatsManager。
我做了什么:
我正在 phone 上 运行 的移动应用程序上请求权限。在用户授予权限后,我可以访问使用情况统计数据。 然后我在 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;
}
}
这 returns 在 phone 上是正确的,但在手表上是错误的。
问题:
我可以请求用户允许在 phone 上使用 UsageStatsManager,但我不能在手表上这样做,因为该设置不存在。有没有人想出是否可以在手表上获取 UsageStatsManager 运行?
在 Wear 上无法使用许可意图。
Overlay (Settings.canDrawOverlays()) 也是如此,但至少您可以使用较低的目标来克服它。
还有最新的 Android N 模拟器,这个问题没有解决。