Android Wear:解决" com.google.android.gms.wearable.BIND_LISTENER"

时间:2016-09-21 06:24:59

标签: android wear-os

我曾经使用com.google.android.gms.wearable.BIND_LISTENERWearableListenerService在我的手机和Wear设备之间进行通信。

意图com.google.android.gms.wearable.BIND_LISTENER被弃用之后我应该使用:

<service android:name=".MyListenerService">
    <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>
</service>

但是如何将它与我的WearableListenerService结合使用?收到广播的地方?

1 个答案:

答案 0 :(得分:0)

就像你说的那样BIND_LISTENER现在已被弃用,所以根据这个thread,替代方案是使用细粒度的意图过滤机制,允许开发人员准确指定他们是什么事件感兴趣的。

DATA_CHANGEDMESSAGE_RECEIVEDCHANNEL_EVENTCAPABILITY_CHANGEDintent filters。您可以指定多个元素,如果其中任何一个匹配,它将调用您的服务并过滤掉其他任何内容。如果您不包含元素,则会过滤掉所有事件,并且永远不会调用您的服务,因此请确保至少包含一个。

同时检查实时监听器部分和最佳实践,以了解有关此问题的更多信息,包括使用WearableListenerService