2016-09-21 92 views
1

我曾经使用com.google.android.gms.wearable.BIND_LISTENERWearableListenerService在我的Mobile和Wear设备之间进行通信。Android Wear:解决“com.google.android.gms.wearable.BIND_LISTENER”

意图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结合起来呢?广播将在哪里收到?

回答

0

像你说的BIND_LISTENER现在已经过时,所以根据这个thread,这样做的另一种方法是使用细粒度的意图过滤机制,它允许开发人员指定他们是什么事件感兴趣的

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

还请检查Live listener部分和最佳做法以了解有关此问题的更多信息,包括使用WearableListenerService

+3

我正在使用DATA_CHANGED和MESSAGE_RECEIVED。但是,我没有收到我的Wearable ListernerService中的任何内容 –