WearableListenerService连续绑定/解绑定

时间:2017-01-10 21:35:04

标签: android service wear-os sony-smartwatch

我制作了一个简单的智能手表应用程序,它连接到手机以发送一些数据。然而,它不断地绑定和解除绑定导致很多滞后。 Logcat显示

01-10 22:26:17.780 13094-17893/com.verbraeken.joost V/WearableLS: bindService:  com.verbraeken.joost/.WearListenerService
01-10 22:26:17.783 13094-17893/com.verbraeken.joost V/WearableLS: unbindService: com.verbraeken.joost/.WearListenerService

在清单中,服务被声明为:

<service android:name="WearListenerService">
  <intent-filter>
    <action android:name="com.google.android.gms.wearable.DATA_CHANGED"/>
    <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED"/>
    <action android:name="com.google.android.gms.wearable.CAPABILITY_CHANGED"/>
    <action android:name="com.google.android.gms.wearable.CHANNEL_EVENT"/>
    <data android:path="/WEAR_ORIENTATION" android:host="*" android:scheme="wear"/>
  </intent-filter>
</service>

服务本身确实扩展了WearableListenerService,并且只有onMessageReceived方法。

服务每秒绑定/解除约50次的原因是什么?

1 个答案:

答案 0 :(得分:1)

这是服务的默认行为(绑定和取消绑定),基于文档 - Sending and Syncing Data

  

WearableListenerService(用于服务)

     

扩展WearableListenerService可让您侦听服务中的重要数据层事件。当需要发送数据项或消息并在不需要工作时解除绑定服务时,系统管理WearableListenerService绑定到服务的生命周期

请检查您的实施,以验证您遇到的错误(每秒绑定/取消绑定x次)。

希望这有帮助。