firefox OS中的任何Api是否支持除通知之外的requestPermission()

时间:2015-09-06 19:00:45

标签: api firefox permissions firefox-os

我尝试检查用户是否不允许使用Contacts API的权限,我可以再次请求他使用requestPermission()向我的应用授予权限,例如Notifications API https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission

var saving = navigator.mozContacts.save(person);
//Alert the user if the contact saved
saving.onsuccess = function() {
    alert('New contact saved');
};

//Get if there was error and display the message
saving.onerror = function(err) {
  if (err.target.error.name == 'PERMISSION_DENIED') {
    alert('Error: We need your permission to add new contact, please allow the app to add contacts');
  } else if (err.target.error.message) {
   alert('Error: ' + err.target.error.message);
  } else {
    alert('Error, Please contact us');
  }
};

我喜欢

if (err.target.error.name == 'PERMISSION_DENIED') 

再次要求用户允许应用程序使用类似于requestPermission()

的内容

1 个答案:

答案 0 :(得分:3)

requestPermission()API特定于Notifications,不是通用的。

可能适用于您的情况的方法是添加特定的用户内容,以解释为什么您需要联系信息。

您的代码示例在检测权限被拒绝状态时看起来是正确的。在那部分中,您可能会显示一个叠加层,该叠加层可以解释为什么需要联系信息,以及没有它时,您的网络应用中的哪些功能将无法使用。

您还可以在应用中使用一些普遍可见的图标,让用户知道某些功能目前无法使用,因为尚未访问联系人数据。