簡體   English   中英

Cordova Android應用和用戶權限

[英]Cordova Android app and user permissions

我有一個Android Cordova應用程序,我正在使用GPS,檢查網絡狀態,讀取/寫入Documents文件夾並拍攝相機照片。 這是我對清單XML文件的權限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

清單文件由Cordova框架自動生成。 出於某種原因,我沒有看到相機權限。 在安裝時不再詢問權限(自Android 6以來),但在使用之前應該詢問它們。 我正確獲取了GPS訪問權限彈出窗口,但沒有讀取/寫入文檔文件夾權限。 我也從未獲得相機許可,盡管我可以在沒有被要求許可的情況下使用它。 網絡狀態權限的相同故事(從未被問到)。

我發現Android權限方案非常混亂,在應用程序管理器下我的應用程序已按預期獲得了位置和存儲,但相機和網絡狀態仍然缺失。

回顧一下,在應用程序內部的實際代碼中,我至少使用過一次這些設備

  • GPS細粒度
  • GPS粗(可能是Wifi SSID三角測量技巧)
  • 寫在文件上
  • 閱讀文件
  • 讀取網絡狀態(離線/ Wifi / 3G等)
  • 從相機拍照

Cordova框架寫了這個清單文件:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.hardware.location.gps(為什么它不是.permission?)
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.WRITE_EXTERNAL_STORAGE

在應用程序管理器上,我得到了以

  • 位置
  • 存儲

所以基本上我得到三組不同的權限:-(

我在評論中提到的這個cordova插件中找到了這個

在此輸入圖像描述

所以這個<uses-permission android:name="android.permission.CAMERA/>必須在你的代碼中,因為這個插件可以使用它。

也許您沒有檢查正確的程序以查看其權限,或者如果相機權限未在設備上的應用程序權限中顯示,則您無法在此應用程序中使用相機。 請再次檢查,因為我真的想知道情況如何。

暫無
暫無

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

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