如何收听从 wear activity 发送的消息?
How do I listen for messages sent from wear activity?
我有一个 Android Wear 应用程序可以向手持设备发送消息。应该接收消息的手持设备没有任何应用程序 UI,因此没有 MainActivity。如何让它接收来自可穿戴设备的消息?
当 Google Play Services 从我可以用来启动服务的可穿戴设备接收到消息时是否会触发广播?
这是我目前在移动应用程序中的内容:
public class ListenerService extends WearableListenerService {
public ListenerService() {
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Log.v("Test", "ListenerService.onMessageReceived()");
}
}
AndroidManifest.xml:
<service
android:name=".ListenerService"
android:enabled="true"
android:exported="true" >
</service>
可穿戴设备发送一条消息,但 onMessageReceived()
未触发。
编辑
BIND_LISTENER
现在已弃用。它必须替换为
<intent-filter>
<action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
<action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />
<data android:scheme="wear" android:host="*" android:pathPrefix="/prefix" />
</intent-filter>
更多信息here。
旧答案
您错过了清单中的 intent-filter
。
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER"/>
</intent-filter>
我有一个 Android Wear 应用程序可以向手持设备发送消息。应该接收消息的手持设备没有任何应用程序 UI,因此没有 MainActivity。如何让它接收来自可穿戴设备的消息?
当 Google Play Services 从我可以用来启动服务的可穿戴设备接收到消息时是否会触发广播?
这是我目前在移动应用程序中的内容:
public class ListenerService extends WearableListenerService {
public ListenerService() {
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Log.v("Test", "ListenerService.onMessageReceived()");
}
}
AndroidManifest.xml:
<service
android:name=".ListenerService"
android:enabled="true"
android:exported="true" >
</service>
可穿戴设备发送一条消息,但 onMessageReceived()
未触发。
编辑
BIND_LISTENER
现在已弃用。它必须替换为
<intent-filter>
<action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
<action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />
<data android:scheme="wear" android:host="*" android:pathPrefix="/prefix" />
</intent-filter>
更多信息here。
旧答案
您错过了清单中的 intent-filter
。
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER"/>
</intent-filter>