gpt4 book ai didi

javascript - 如何在调用 camera.getPicture 之前检查相机权限

转载 作者:行者123 更新时间:2023-11-29 10:27:09 28 4
gpt4 key购买 nike

我想在实际打开相机之前确保应用程序具有访问相机的权限,这样如果应用程序没有权限,可以通知用户他们需要在操作系统中更改权限。

这是必要的原因是,当用户不小心拒绝了对相机的许可时,他将不得不导航到操作系统本身内的应用程序权限以更改权限。大多数用户可能不知道这一点,因此我想让他们知道。

在下面的示例中,我想检查应用程序是否有权访问相机。如果没有,请通知用户。
我该怎么做?

        fromCamera: function (callback) {

// PERMISSION CHECK HERE -> if camera permission is FALSE show an alert to notify the user
navigator.notification.alert(
"This app does not have access to the camera. Blabla do this blabla",
["Ok"]
);

if (callback === undefined) throw 'undefined callback parameter!';

navigator.camera.getPicture(onCameraSuccess, onCameraFail, {
quality: 90,
encodingType: Camera.EncodingType.JPEG,
saveToPhotoAlbum: true,
allowEdit: false,
correctOrientation: true,
destinationType: Camera.DestinationType.FILE_URI
});

function onCameraSuccess(imageUri) {
app.log('onCameraSuccess: ' + imageUri);
callback([imageUri]);
}
function onCameraFail(message) {
app.log('Failed because: ' + message);
callback([]);
}
}

最佳答案

所以...我有点抱歉这么说,但这不是相机插件的问题。

我做了以下事情:

  1. cordova 创建 cameracheck com.example.com cameracheck
  2. cd cameracheck
  3. cordova平台添加ios
  4. cordova 插件添加 cordova-plugin-camera
  5. cordova 插件添加 cordova-plugin-console
  6. Cordova 构建

之后,我在 XCode 中打开应用程序并将代码编辑为标准代码。

<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received" onclick="openCamera()">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>

openCamera() 函数

function openCamera() {
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.FILE_URI });

function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}

function onFail(message) {
alert('Failed because: ' + message);
}
}

我拒绝了相机访问并关闭了应用程序。在我重新打开它并按文本启动相机后,我收到一条消息,直接告诉我,无法访问相机。此外,插件会询问我是要打开设置还是只想关闭相机。请参阅下面的屏幕截图。

问题必须出在代码中的任何地方,或者您可能使用了已弃用的相机插件?您是否尝试更新它?

enter image description here

关于javascript - 如何在调用 camera.getPicture 之前检查相机权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31607497/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com