没有通知以允许android应用使用相机

时间:2019-05-15 10:13:32

标签: javascript android cordova vue.js

我正在使用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

我想测试导入科尔多瓦,但不确定导入路径。

我也不确定我的方法是否正确,是否还有其他方法可以要求设备自动升空。

2 个答案:

答案 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