导航前获得联系人权限(Cordova)

时间:2016-02-07 14:20:59

标签: javascript ios cordova contacts

我的问题

我目前正在使用Cordova编写IOS应用程序。我的应用程序中的一个屏幕需要访问联系人的权限,并允许用户将其联系人导入其本地数据库。

我遇到的问题是我不想将用户导航到“导入联系人”。屏幕没有首先获得访问联系人的权限。这是因为;导航到“导入联系人”是没有意义的。如果应用程序无权访问用户的联系人,请进行筛选。

潜在解决方案

结果,我提出了以下解决方案,以便在实际导航到下一个屏幕之前获得访问用户联系人的权限'导入联系人':

// Attempt to gather the users local contacts
var options             = new ContactFindOptions();
options.multiple        = true;
options.desiredFields   = [navigator.contacts.fieldType.id,navigator.contacts.fieldType.displayName];
options.hasPhoneNumber  = true;
var fields              = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
navigator.contacts.find(fields, function(){
    // Navigate to the 'import contacts' screen
}, function(){
    // Display an error based on the returned error code
    // Once dismissed, take the user to the home page
}, options);

由于我对Cordova很新,我不知道上述解决方案是否有任何警告。以上解决方案是解决此问题的最佳方式还是有更好的解决方案?

请注意,我现在只关心IOS,所以如果其他操作系统出现问题,请不要提及。

0 个答案:

没有答案