Java 如何在Android Wear上使用UsageStatsManager

Java 如何在Android Wear上使用UsageStatsManager,java,android,wear-os,usagestatsmanager,Java,Android,Wear Os,Usagestatsmanager,我正在尝试在Android Wear设备上使用UsageStatsManager 我所做的: 我正在手机上运行的移动应用程序上请求许可。在用户授予权限后,我可以访问usage stats数据。 然后,我在wear应用程序上创建了一个UsageStatsManager,并尝试访问那里的使用统计数据。然而,在值班期间,我没有这样做的许可,我不能要求许可。要检查权限是否由我使用的用户授予,请执行以下操作: private boolean isPermissionGranted(){ try{

我正在尝试在Android Wear设备上使用UsageStatsManager

我所做的:

我正在手机上运行的移动应用程序上请求许可。在用户授予权限后,我可以访问usage stats数据。 然后,我在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在手表上运行吗?

佩戴时不可能有使用权限意图

覆盖(Settings.canDrawOverlays())也是如此,不过至少可以使用较低的目标来克服它

还有最新的Android N emulator也没有解决这个问题