从磨损模块 Android 在手持设备 class 中执行方法
Executeing a method in Handheld class from Wear Module Android
假设我在 MainActivity 中有一个名为 Emergencyalert()
的方法,它的作用是向某些选定的联系人发送一些警报消息。所以我想要一个 wear 应用程序,当用户单击 Android Wear 中的紧急按钮时,它只执行手持设备中的 Emergencyalert()
方法。
我的项目中有两个不同的模块,称为 mobile 和 wear。我使用 AndroidStudio。提前谢谢。
首先将您的 Emergencyalert()
方法移动到服务中(IntentService 将是完美的选择:只需将您的 Emergencyalert()
代码 运行 放在服务的 onHandleIntent()
).这是必要的,因为只有当 activity 打开并在屏幕上可见时才能调用 activity 中的方法(通过 Wear 应用程序激活时不会出现这种情况)。
您可以测试以确保您的 IntentService
正常工作,方法是将 MainActivity
中对 Emergencyalert()
的调用替换为对
的调用
startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));
这将启动服务并发出紧急警报。
对于 Android Wear 部分,您的 Wear 应用程序需要 send a Message to your handheld device, stating that the emergency button was pressed. You should then implement a WearableListenerService in your handheld app and override the onMessageReceived() 方法 - 在该方法中,调用与您在 MainActivity
和您的 MainActivity
中调用的相同的 startService()
当您按下 Android Wear 设备上的按钮时,即使您的应用程序处于后台,紧急警报也会触发。
假设我在 MainActivity 中有一个名为 Emergencyalert()
的方法,它的作用是向某些选定的联系人发送一些警报消息。所以我想要一个 wear 应用程序,当用户单击 Android Wear 中的紧急按钮时,它只执行手持设备中的 Emergencyalert()
方法。
我的项目中有两个不同的模块,称为 mobile 和 wear。我使用 AndroidStudio。提前谢谢。
首先将您的 Emergencyalert()
方法移动到服务中(IntentService 将是完美的选择:只需将您的 Emergencyalert()
代码 运行 放在服务的 onHandleIntent()
).这是必要的,因为只有当 activity 打开并在屏幕上可见时才能调用 activity 中的方法(通过 Wear 应用程序激活时不会出现这种情况)。
您可以测试以确保您的 IntentService
正常工作,方法是将 MainActivity
中对 Emergencyalert()
的调用替换为对
startService(new Intent(MainActivity.this, EmergencyAlertIntentService.class));
这将启动服务并发出紧急警报。
对于 Android Wear 部分,您的 Wear 应用程序需要 send a Message to your handheld device, stating that the emergency button was pressed. You should then implement a WearableListenerService in your handheld app and override the onMessageReceived() 方法 - 在该方法中,调用与您在 MainActivity
和您的 MainActivity
中调用的相同的 startService()
当您按下 Android Wear 设备上的按钮时,即使您的应用程序处于后台,紧急警报也会触发。