如何在 Cordova 中显示照片库权限对话框?
Posted
技术标签:
【中文标题】如何在 Cordova 中显示照片库权限对话框?【英文标题】:How to display photo library permissions dialog in Cordova? 【发布时间】:2015-11-26 05:05:00 【问题描述】:您好,我们正在开发基于 IBM MobileFirst 平台的混合应用程序。在我们的应用程序中,我们正在访问用户图库(上传照片)。为此,在 iPhone 中我们需要明确询问用户权限,要在 iPhone 中询问用户权限,我们需要显示对话框。这里我的问题是我们要向用户显示的对话框是自定义对话框,还是 MobileFirst 中内置了任何本机功能,或者借助任何 cordova 插件?
【问题讨论】:
第一次尝试访问相机时,设备会询问用户,您不必担心或显示任何消息,由系统处理 【参考方案1】:您可以在cordova-diagnostic-plugin 中使用requestCameraRollAuthorization()
请求本机ios 权限以访问用户照片:
cordova.plugins.diagnostic.requestCameraRollAuthorization(function(granted)
console.log("Authorization request for camera roll was " + (granted ? "granted" : "denied"));
, function(error)
console.error(error);
);
【讨论】:
【参考方案2】:MobileFirst 不会为您处理任何权限 - 它不是那种框架。这确实与您应用中的 Cordova 层有关,它访问照片库。
您需要显示一个对话框,询问用户是否允许访问照片库。例如,您可以为此目的使用 WL.SimpleDialog。
在这里阅读更多:
http://docs.phonegap.com/en/3.3.0/guide_appdev_privacy_index.md.html#Privacy%20Guide Cordova Camera Plugin in IOS 9 也许要检查是否有访问权限,还可以创建一个 Cordova 插件,使用本机代码检查它:Determine if the access to photo library is set or not - phphotoLibrary (iOS 8)【讨论】:
谢谢 Idan,这些信息对我帮助很大。 但是对于通知权限的小说明,我们还需要在 iphone 中添加任何 cordova 插件,或者只显示简单的对话框就足够了 权限由系统处理,当您第一次尝试使用需要它们的东西时,您不必担心它们或显示任何消息以上是关于如何在 Cordova 中显示照片库权限对话框?的主要内容,如果未能解决你的问题,请参考以下文章
如何在需要使用 Xamarin.UITest 访问 iOS 上的照片的权限对话框中点击确定按钮?
Facebook Cordova 插件 - 共享照片(没有链接)导致空的共享对话框