簡體   English   中英

Android ACTIVITY_RECOGNITION 用於在 Android 8 上運行的應用程序

[英]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 權限,前提是您的應用滿足以下每個條件:

  1. 清單文件包含 com.google.android.gms.permission.ACTIVITY_RECOGNITION 權限。

  2. 清單文件不包含 android.permission.ACTIVITY_RECOGNITION 權限。 如果系統自動授予 android.permission.ACTIVITY_RECOGNITION 權限,則在您將應用程序更新為目標 Android 10 后,您的應用程序將保留該權限。但是,用戶可以隨時在系統設置中撤銷此權限。*

運行時基本不要在Android 10以下要求這個權限,在manifest中添加即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM