У меня есть приложение, в котором я хочу выбрать человека из контактов, а затем отправить ему текст. Это работает, как и ожидалось, для первого пользователя, но после этого приложение никогда не получает управление после выбора контакта. Я изолировал проблему с плагином Nativescript-phone. Если вы просто вызываете phone.sms() для отправки текста, а затем вызываете contact.getContact(), возникает проблема. Я вижу это и на Android, и на iOS.
Я создал пример приложения, демонстрирующего проблему, на странице https://github.com/dlcole/contactTester. Пример приложения только для Android. Я потратил пару дней на это и приветствую любые идеи.
Редактировать 21.04.2020:
Я потратил больше времени на это и вижу, что происходит. Оба плагина имеют одинаковый обработчик событий и одинаковые коды запросов:
родной скрипт-телефон:
var SEND_SMS = 1001;
activity.onActivityResult = function(requestCode, resultCode, data) {
nativescript-контакты:
var PICK_CONTACT = 1001;
appModule.android.on("activityResult", function(eventData) {
Что происходит, так это то, что после вызова phone.sms вызов contact.getContact заставляет управление вернуться к плагину телефона, а НЕ к плагину контактов. Я попытался изменить код запроса телефона на 1002, но получил те же результаты.
Итак, следующий шаг — определить, как избежать коллизии обработчиков событий.