首页 > 解决方案 > 没有通知允许android应用使用相机

问题描述

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

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

我也不确定我的方法是否好,以及是否有其他方法可以要求设备自动化。

标签: javascriptandroidcordovavue.js

解决方案


您以错误的方式使用科尔多瓦。

您必须等待它加载。为此,您必须收听cordovo ready 事件。

document.addEventListener('deviceready', () => {
      const permissions = cordova.plugins.permissions;
     // Your code here

链接:https ://github.com/NeoLSN/cordova-plugin-android-permissions/issues/13

此外,您也许需要使用 'import VueCordova from 'vue-cordova'' 我对此并不满意,但它是一首曲目

import VueCordova from 'vue-cordova'
...
Vue.use(VueCordova)

在组件的数据中

cordova: Vue.cordova

推荐阅读