Cordova Android 应用和用户权限
Cordova Android app and user permissions
我有一个 Android Cordova 应用程序,我正在使用 GPS,检查网络状态,read/write 在文档文件夹中并拍照。这是我对清单 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 访问权限弹出窗口,但没有获得 read/write 文档文件夹权限。我也从来没有获得相机许可,尽管我可以在没有征得许可的情况下使用它。网络状态权限也是如此(从未被询问)。
我发现 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
在应用程序管理器上我得到这些选项:
- 位置
- 存储空间
所以基本上我得到了三组不同的权限:-(
我在你在评论中提到的 this cordova
plugin 中找到了这个。
所以这个 <uses-permission android:name="android.permission.CAMERA/>
必须在你的代码中,这样这个插件才能使用它。
可能是您没有检查正确的程序以查看其权限,或者如果设备上的应用程序权限中未显示摄像头权限,则您无法在此应用程序中使用摄像头。请再检查一下,我很想知道是什么情况
我有一个 Android Cordova 应用程序,我正在使用 GPS,检查网络状态,read/write 在文档文件夹中并拍照。这是我对清单 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 访问权限弹出窗口,但没有获得 read/write 文档文件夹权限。我也从来没有获得相机许可,尽管我可以在没有征得许可的情况下使用它。网络状态权限也是如此(从未被询问)。
我发现 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
在应用程序管理器上我得到这些选项:
- 位置
- 存储空间
所以基本上我得到了三组不同的权限:-(
我在你在评论中提到的 this cordova
plugin 中找到了这个。
所以这个 <uses-permission android:name="android.permission.CAMERA/>
必须在你的代码中,这样这个插件才能使用它。
可能是您没有检查正确的程序以查看其权限,或者如果设备上的应用程序权限中未显示摄像头权限,则您无法在此应用程序中使用摄像头。请再检查一下,我很想知道是什么情况