我想从智能手表拦截连接到智能手机的事件。这是由Android和Android Wear自动管理的,所以我需要从手表上运行的应用程序中获取此事件。
我在weararableapi上发现了这一点,无需轮询即可通知wearables . nodeapi . getconnectednodes
public class MyService extends WearableListenerService {
@Override
public void onPeerConnected(Node peer) {
Log.i("my wear service", "connected");
super.onPeerConnected(peer);
// here I would use MessageAPI to send data saved on "disk" to the smartphone
}
}
这是正确的方式吗?这是正常的服务吗?我必须启动它还是它会自动在后台运行?还有其他方法来完成这个任务吗?
这是参考
在可穿戴和手持应用程序之间交换数据,我强烈建议您使用Wearable.DataApi
或Wearable.MessageApi
。您可能希望在两端运行WearableListenerService
的子类,并处理onDataChanged
/onMessageReceived
的通信。它们在超类上有一个空的实现。所以你必须重写你需要的那个。如果你使用DataApi
,你必须覆盖onDataChanged
,否则onMessageReceived
。
我必须启动它还是它会自动在后台运行
你必须在清单中声明你的子类,并使用BIND_LISTENER
作为动作,
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER"/>
</intent-filter>