У меня проблема, когда я пытаюсь сохранить контакт на Android. Он отлично работает на iOS, но когда я пробую его на Android, приложение вылетает и закрывается.
Я использую интерфейс Ionic 3 и Ionic Native Contacts. Плагин - https://github.com/apache/cordova-plugin-contacts. Я знаю, что там написано, что он устарел, но я не могу найти другой надежный плагин.
Проблемный код - это метод сохранения:
let contact: Contact = this.contacts.create();
contact.name = new ContactName(null, 'Smith', 'John');
contact.phoneNumbers = [new ContactField('mobile', '6471234567')];
contact.save().then(
() => console.info('Contact saved!', contact),
(error: any) => console.error('Error saving contact.', error)
);
Есть сообщение, в котором есть объяснение этой проблемы, в основном вам нужно заменить файл ContactManager.java
в плагине контактов, который запрашивает разрешение на чтение / запись, затем удалить платформу Android и снова добавить ее.
Это обновленный ContactManager.java
После обновления файла на plugins/cordova-plugin-contacts/src/android/ContactManager.java
обновленной версией необходимо запустить:
ionic cordova platform rm android
ionic cordova platform add android