我目前正在使用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,所以如果其他操作系统出现问题,请不要提及。