【问题标题】:How to use UsageStatsManager on Android Wear如何在 Android Wear 上使用 UsageStatsManager
【发布时间】:2015-09-23 15:33:40
【问题描述】:

我正在尝试在 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 在手表上运行?

【问题讨论】:

    标签: java android wear-os usagestatsmanager


    【解决方案1】:

    Wear 上无法使用使用许可意图。

    Overlay (Settings.canDrawOverlays()) 也是如此,但至少您可以使用较低的目标来克服它。

    最新的 Android N 模拟器也无法解决此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多