假设我在 MainActivity 中有一个名为 Emergencyalert()
的方法,它的作用是,它向某些选定的联系人发送一些警报消息。因此,我想要一个穿戴应用程序,当用户单击 Android Wear 中的紧急按钮时,该应用程序不执行任何操作,而只是在手持设备中执行 Emergencyalert()
方法。
我的项目中有两个不同的模块,称为移动和穿戴。我用的是AndroidStudio。提前谢谢。
最佳答案
首先将您的 Emergencyalert()
方法移至服务中(IntentService 非常适合此操作:只需让您的 Emergencyalert()
代码在服务的 onHandleIntent()
)。这是必要的,因为只有当 Activity 打开并在屏幕上可见时才能调用 Activity 中的方法(通过 Wear 应用激活时不会出现这种情况)。
您可以通过将 MainActivity
中对 Emergencyalert()
的调用替换为对 IntentService
的调用来测试以确保您的 IntentService
正常工作/p>
startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));
这将启动服务并发出紧急警报。
对于 Android Wear 部分,您的 Wear 应用需要 send a Message到您的手持设备,表明已按下紧急按钮。然后你应该实现 WearableListenerService在您的手持应用程序中并覆盖 onMessageReceived()方法 - 在该方法中,调用您在 MainActivity
中调用的相同 startService()
,即使当您按下按钮时您的应用处于后台,您的紧急警报也会触发在 Android Wear 设备上。
关于java - 从 Aar 模块 Android 执行 Handheld 类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772169/