[英]Android ACTIVITY_RECOGNITION for app running on Android 8
我的目標 Api 是 30。我在清單中聲明了以下權限,遵循此代碼實驗室示例( https://developer.android-transition#2 )
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
有了這個,1]當我的應用程序在 Android 10 及更高版本上運行時,我可以請求 ACTIVITY_RECOGNITION 權限,如果我簽入我的代碼,它也會返回 true,例如:
ContextCompat.checkSelfPermission(
requireContext(),
Manifest.permission.ACTIVITY_RECOGNITION
) == PackageManager.PERMISSION_GRANTED
2] 但是相同的代碼總是返回 false,當我的應用程序在 Android 8(低於 10)的手機上運行時,我也沒有在應用程序設置的權限列表中看到身體活動。
問題:由於我的目標是 Android API 30,我不應該在清單中使用 >“android.gms.permission.ACTIVITY_RECOGNITION”嗎? 如果是,那么當我的應用程序在 Android 8 的手機上運行時,它會授予權限嗎?
這是 Android 文檔對 ACTIVITY_RECOGNITION 權限的說明。
如果您的應用以 Android 9(API 級別 28)或更低版本為目標,則系統會根據需要自動向您的應用授予 android.permission.ACTIVITY_RECOGNITION 權限,前提是您的應用滿足以下每個條件:
清單文件包含 com.google.android.gms.permission.ACTIVITY_RECOGNITION 權限。
清單文件不包含 android.permission.ACTIVITY_RECOGNITION 權限。 如果系統自動授予 android.permission.ACTIVITY_RECOGNITION 權限,則在您將應用程序更新為目標 Android 10 后,您的應用程序將保留該權限。但是,用戶可以隨時在系統設置中撤銷此權限。*
運行時基本不要在Android 10以下要求這個權限,在manifest中添加即可
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.