簡體   English   中英

請求的Android權限未在應用權限設置中顯示

[英]Requested Android permissions not showing in app permission settings

我正在開發一個需要INTERNETWRITE_EXTERNAL_STORAGEACCESS_WIFI_STATECHANGE_WIFI_MULTICAST_STATE權限的Cordova應用程序。 我已經在清單中請求了這些權限

<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />

INTERNETACCESS_WIFI_STATECHANGE_WIFI_MULTICAST_STATE被視為正常權限,根據文檔 ,Android將在安裝時自動接受它們,用戶無法撤消它們。

現在在Cordova創建的MainActivity ,我在if塊中添加了此代碼,該塊檢查以確保我們在6.0或更高版本:

if (checkSelfPermission(Manifest.permission.ACCESS_WIFI_STATE) == PackageManager.PERMISSION_GRANTED &&
                checkSelfPermission(Manifest.permission.CHANGE_WIFI_MULTICAST_STATE) == PackageManager.PERMISSION_GRANTED &&
                checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
            Log.d(TAG, "has permission");
        }
        else {
            Log.d(TAG, "no permission");
            requestPermissions(new String[] { Manifest.permission.ACCESS_WIFI_STATE,
                    Manifest.permission.CHANGE_WIFI_MULTICAST_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
        }

問題是,在運行5.1.1的Android設備上,這有效,當我轉到應用程序的權限設置時,我會看到所有4個權限。 但是在運行7.0和7.1.1的設備上,我得到一個對話框,要求批准WRITE_EXTERNAL_STORAGE和所有其他權限,因為它們是正常的,不會被要求批准。 它們會自動獲得批准。 問題是即使我有權限,在較新的設備上我也無法做與這些權限相關的事情,如果我轉到應用程序設置獲取權限,我看到的是權限存儲已授予。 沒有INTERNETACCESS_WIFI_STATECHANGE_WIFI_MULTICAST_STATE 我沒有在6.0設備上專門測試過,但我想我會遇到同樣的問題。

為什么權限沒有顯示在權限設置中,為什么我無法執行需要這些權限的操作,即使Android說我有權限?

您鏈接到的文檔包含以下語句:

“系統不會提示用戶授予正常權限,用戶也無法撤消這些權限。”

因此,除了WRITE_EXTERNAL_STORAGE之外的所有權限將始終被授予。 您要求的唯一權限是可以撤銷的權限。

為什么權限未顯示在權限設置中

好吧,根據Android版本,他們可能有點難找。 例如,在運行android 7.0的模擬器上,我找到了Apps - > MyApp - > Permissions下的所有權限列表,然后單擊溢出菜單中的“所有權限”。

在此輸入圖像描述

暫無
暫無

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

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