Допустим, у меня есть метод в MainActivity с именем Emergencyalert()
, какова его доза, он отправляет предупреждающее сообщение некоторым выбранным контактам. Поэтому мне нужно приложение для ношения, которое ничего не дозирует, а просто выполняет метод Emergencyalert()
на портативном устройстве, когда пользователь нажимает кнопку экстренного вызова в Android Wear. В моем проекте есть два разных модуля, которые называются mobile и Wear. Я использую AndroidStudio. Заранее Спасибо.
Выполнение метода в классе Handheld из Wear Module Android
Ответы (1)
Сначала переместите свой метод Emergencyalert()
в службу (IntentService). идеально подходит для этого: просто запустите свой код Emergencyalert()
в службе onHandleIntent()
). Это необходимо, так как методы в вашей активности могут быть вызваны только тогда, когда ваша активность открыта и видна на экране (что не будет иметь место при активации через ваше приложение Wear).
Вы можете проверить, работает ли ваш IntentService
, заменив вызов Emergencyalert()
в MainActivity
вызовом
startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));
Это запустит службу и вызовет аварийное оповещение.
Что касается Android Wear, ваше приложение Wear должно отправить сообщение на ваше портативное устройство, заявив, что кнопка экстренного вызова была нажата. Затем вам следует внедрить WearableListenerService в свой портативный компьютер. приложение и переопределить onMessageReceived() — в этом методе вызовите тот же startService()
, который вы вызывали в своем MainActivity
, и ваше экстренное оповещение сработает, даже если ваше приложение находится в фоновом режиме, когда вы нажмете кнопку на Android Носите устройство.