Appcelerator 中的相机权限

Posted

技术标签:

【中文标题】Appcelerator 中的相机权限【英文标题】:Camera permissions in Appcelerator 【发布时间】:2016-10-06 02:09:14 【问题描述】:

我正在使用 Appcelerator studio 来开发我的应用程序。在这个应用程序中,我从相机拍摄照片并将它们发布到我的服务器。对于 android 6,我要求用户使用相机的运行时权限。我的代码工作正常。但是,当我在运行时请求相机许可时。它要求 3 个权限,

    允许应用拍照和录制视频。 应用将访问图库。 应用将使用相机位置。

我的问题是为什么我只使用相机拍照时会看到所有这些权限,我该如何摆脱它们?

代码sn-p:

if (Ti.Media.hasCameraPermissions()) 
        openCamera();
     else 
        Ti.Media.requestCameraPermissions(function(e) 
            if (e.success) 
                openCamera();
             else 
                alert('You denied permission');
            
        );
    

提前感谢您的帮助。

【问题讨论】:

澄清一下,您在谈论新的 Android 6 权限系统,对吗?我在应用程序中的代码几乎与您的代码相同,并且获得了两个权限对话框。一个说“允许 APPNAME 访问您设备上的照片、媒体和文件?”另一个说“允许APPNAME拍照和录像?”我不熟悉“使用相机位置”权限。但是我的应用在启动时确实会出于其他目的请求位置,所以也许这就是我在请求相机权限时没有看到的原因? 我认为这就是它的工作方式,......我认为你是对的@JasonPriebe :-) 检查 Ti 移动 SDK (github.com/appcelerator/titanium_mobile/blob/…) 中的 MediaModule.java 表明 requestCameraPermissions() 调用仅要求 Manifest.permission.CAMERA 和 Manifest.permission.READ_EXTERNAL_STORAGE。与位置无关,所以我不确定 OP 如何获得位置权限提示(除非在 openCamera() 中请求位置权限) @Jason 是的,它与 Android 6 权限有关。是的,我正在使用定位服务,并且我对它们有单独的权限。我更担心为什么这个权限是关于相机位置的。 Not able to set permission in Android 7.0.0的可能重复 【参考方案1】:

这可能是由于您尚未在 Titanium 检查中授予位置权限以立即请求权限。请在授予位置权限后尝试。

【讨论】:

以上是关于Appcelerator 中的相机权限的主要内容,如果未能解决你的问题,请参考以下文章

Android 10 中的相机意图权限

Xcode Organizer (appcelerator) 中的 iTunes 应用加速器缺少应用图标

Appcelerator:元素未添加到android中的视图中

ActionBar Android Appcelerator中的后退按钮[复制]

从android中的意图选择器中选择选项(相机或画廊)后请求权限

Appcelerator Titanium 中的自定义通知视图