【问题标题】:Executeing a method in Handheld class from Wear Module Android从 Aar Module Android 执行 Handheld 类中的方法
【发布时间】:2015-01-05 13:50:58
【问题描述】:
假设我在 MainActivity 中有一个名为 Emergencyalert() 的方法,它的作用是向某些选定的联系人发送一些警报消息。所以我想要一个穿戴应用程序,它只执行手持设备中的Emergencyalert() 方法,当用户点击Android Wear 中的紧急按钮时。
我的项目中有两个不同的模块,称为移动和磨损。我使用安卓工作室。提前谢谢。
【问题讨论】:
标签:
java
android
wear-os
android-wear-data-api
【解决方案1】:
首先将您的Emergencyalert() 方法移动到服务中(IntentService 非常适合:只需让您的Emergencyalert() 代码在服务的onHandleIntent() 中运行)。这是必要的,因为只有当您的 Activity 处于打开状态且在屏幕上可见时才能调用 Activity 中的方法(通过 Wear 应用激活时不会出现这种情况)。
您可以测试以确保您的IntentService 正常工作,方法是将您在MainActivity 中对Emergencyalert() 的调用替换为对
startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));
这将启动服务并发出紧急警报。
对于 Android Wear 部分,您的 Wear 应用需要向您的手持设备发送send a Message,说明紧急按钮已按下。然后,您应该在您的手持应用程序中实现 WearableListenerService 并覆盖 onMessageReceived() 方法 - 在该方法中,调用您在 MainActivity 中调用的相同 startService() 并且即使您的应用程序在按下 Android Wear 设备上的按钮时的背景。