Нет уведомления, чтобы приложение для Android могло использовать камеру - PullRequest
0 голосов
/ 15 мая 2019

Я разрабатываю приложение с Vue-JS и Cordova. Это приложение использует камеру телефона, чтобы сделать несколько снимков, но я не знаю, как попросить пользователя разрешить моему приложению использовать камеру.

Я пытался использовать cordova-plugin-android-permissions, но это не дало больших результатов.

(плагин Cordova добавить Cordova-плагин-Android-разрешения)

Я установил это в своем 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, но я не уверен относительно пути моего импорта.

Я также не уверен, что мой метод хорош и есть ли другие способы запросить авторизацию устройства.

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Вы неправильно используете кордову.

Вы должны дождаться загрузки. Чтобы сделать это, вы должны прослушать готовое мероприятие.

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

Ссылка: https://github.com/NeoLSN/cordova-plugin-android-permissions/issues/13

Кроме того, вы, вероятно, должны использовать «импорт VueCordova из« Vue-Cordova » Я не удивлен этим, но это трек

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

В данных вашего компонента

cordova: Vue.cordova
0 голосов
/ 15 мая 2019

Вы пытались добавить следующие строки в свой 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 «Плагин Android-разрешения Плагин Cordova» не отображает диалоговое окно разрешений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...