繁体   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