Выполнение метода в классе Handheld из Wear Module Android

Допустим, у меня есть метод в MainActivity с именем Emergencyalert(), какова его доза, он отправляет предупреждающее сообщение некоторым выбранным контактам. Поэтому мне нужно приложение для ношения, которое ничего не дозирует, а просто выполняет метод Emergencyalert() на портативном устройстве, когда пользователь нажимает кнопку экстренного вызова в Android Wear. В моем проекте есть два разных модуля, которые называются mobile и Wear. Я использую AndroidStudio. Заранее Спасибо.


person Sai    schedule 05.01.2015    source источник


Ответы (1)


Сначала переместите свой метод Emergencyalert() в службу (IntentService). идеально подходит для этого: просто запустите свой код Emergencyalert() в службе onHandleIntent()). Это необходимо, так как методы в вашей активности могут быть вызваны только тогда, когда ваша активность открыта и видна на экране (что не будет иметь место при активации через ваше приложение Wear).

Вы можете проверить, работает ли ваш IntentService, заменив вызов Emergencyalert() в MainActivity вызовом

startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));

Это запустит службу и вызовет аварийное оповещение.

Что касается Android Wear, ваше приложение Wear должно отправить сообщение на ваше портативное устройство, заявив, что кнопка экстренного вызова была нажата. Затем вам следует внедрить WearableListenerService в свой портативный компьютер. приложение и переопределить onMessageReceived() — в этом методе вызовите тот же startService(), который вы вызывали в своем MainActivity, и ваше экстренное оповещение сработает, даже если ваше приложение находится в фоновом режиме, когда вы нажмете кнопку на Android Носите устройство.

person ianhanniballake    schedule 05.01.2015
comment
Спасибо за ваш ответ. Я следил за stackoverflow.com/a/24711474/2102794. Оба метода работают нормально для меня .. - person Sai; 05.01.2015