我正在使用vue-js和cordova开发应用程序。此应用使用手机的相机拍摄一些照片,但我不知道如何要求用户允许我的应用使用相机。
我尝试使用cordova-plugin-android-permissions,但效果不佳。
(cordova插件添加cordova-plugin-android-permissions)
我在main.js中设置了它:
var permissions = cordova.plugins.permissions
permissions.checkPermission(permissions.CAMERA, success, null)
function error () {
console.warn('Camera permission is not turned on')
}
function success (status) {
if (!status.checkPermission) {
permissions.requestPermissions(
permissions.CAMERA,
function (status) {
if (!status.checkPermission) {
error()
}
},
error)
}
}
我的应用程序上只有白屏,我的构建将其发送给我:
cordova is not defined
我想测试导入科尔多瓦,但不确定导入路径。
我也不确定我的方法是否正确,是否还有其他方法可以要求设备自动升空。
答案 0 :(得分:1)
您以错误的方式使用了科尔多瓦。
您必须等待它加载。为此,您必须收听cordovo ready事件。
document.addEventListener('deviceready', () => {
const permissions = cordova.plugins.permissions;
// Your code here
链接:https://github.com/NeoLSN/cordova-plugin-android-permissions/issues/13
此外,您可能需要使用'从'vue-cordova'导入VueCordova' 我对此不满意,但这是一首曲目
import VueCordova from 'vue-cordova'
...
Vue.use(VueCordova)
输入您组件的数据
cordova: Vue.cordova
答案 1 :(得分:0)
您是否尝试在AndroidManifest.xml中添加以下行:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
如本文所示: Cordova App 'Android permission Cordova plugin' is not showing permission dialog