【问题标题】:No notification to allow android app to use camera没有通知允许android应用使用相机
【发布时间】:2019-05-15 10:13:32
【问题描述】:

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

我想测试导入cordova,但我不确定我的导入路径。

我也不确定我的方法是否好用,以及是否有其他方法可以请求设备授权。

【问题讨论】:

  • 如果您的错误是未定义 Cordova,那么您的问题与相机无关,而是您的应用程序构建不正确。

标签: javascript android cordova vue.js


【解决方案1】:

你用错了cordova。

您必须等待它加载。为此,您必须收听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

【讨论】:

    【解决方案2】:

    您是否尝试在 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

    【讨论】:

    • 我尝试了这个解决方案,但它似乎不起作用,我的应用程序没有崩溃但没有出现弹出窗口
    猜你喜欢
    • 2019-04-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2014-11-14
    相关资源
    最近更新 更多