在我的jetpack compose wear应用程序中,我试图获取用户的使用时间。我知道我必须在我的清单中
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" tools:ignore="ProtectedPermissions" />
。
我还编写了以下代码来打开屏幕,用户可以在其中授予所需的使用访问权限。
val appOps = getSystemService(Context.APP_OPS_SERVICE) as AppOpsManager
val mode = appOps.checkOpNoThrow("android:get_usage_stats", android.os.Process.myUid(), packageName)
val granted = mode == AppOpsManager.MODE_ALLOWED
if (!granted) {
Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS).apply {
startActivity(this)
}
}
在我的模拟可穿戴设备上,会打开所需的权限屏幕,但在我的 Galaxy Watch 4 上,不会打开类似的屏幕。我什至无法在设置中手动找到这些权限(无论是在模拟器上还是在真正的手表上)。
有人可以帮我吗?
编辑:我读到一条评论说在wearos上无法使用使用权限,有人可以确认吗? Edit2:设置应用程序打开,但显示黑屏并立即关闭。
来自 https://developer.android.com/about/versions/12/reference/common-intents-31,
这未定义为 Wear 支持。
android.settings.USAGE_ACCESS_SETTINGS
手持设备、电视、平板电脑、汽车