java - 从 Aar 模块 Android 执行 Handheld 类中的方法

标签 java android wear-os android-wear-data-api

假设我在 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/

相关文章:

java - 如何检测包名冲突

java - 从 Android Wear 上的日历获取数据

Android Wear DotsPageIndicator 第一次淡化而不是始终可见

java - 我是否以正确的方式使用模拟?

java - @ExceptionHandler 没有捕获 MethodArgumentNotValidException

java - 设置 EditText 的值时后台线程失败

Android Wear 在 Debug模式下不打包 watch 应用

java - 处理类之间的对象

java - 需要有关 Java 循环链表的帮助!

java - onCreate中出现NullPointerException,调试后似乎找不到原因