我正在编写一个自定义Android Wear应用程序,该应用程序应该向连接的主机设备(电话)发送一次性消息.通过API,我发现以下教程应该运行良好:http://developer.android.com/training/wearables/data-layer/messages.html
我的Android应用程序有一个WearableListenerService,我的Android Wear应用程序使用Message API触发消息.在模拟器基于记录以下方法进行连接时调用WearableListenerService get,所以我很确定该服务连接正常
@Override
public void onPeerConnected(Node peer) {
super.onPeerConnected(peer);
String id = peer.getId();
String name = peer.getDisplayName();
Log.d(LOG_TAG, "Connected peer name & ID: " + name + "|" + id);
}
Run Code Online (Sandbox Code Playgroud)
日志输出:
/AndroidWearListenerService(19892): Connected peer name & ID: facdc219-37f5-4326-8fa6-1c8b8d3b6669|facdc219-37f5-4326-8fa6-1c8b8d3b6669
Run Code Online (Sandbox Code Playgroud)
但是,onMessageReceived方法永远不会被触发:
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Log.d(LOG_TAG, "MessageEvent received: " + messageEvent.getData());
//do work
}
Run Code Online (Sandbox Code Playgroud)
这是我的Android Wear代码.我删除了大部分锅炉板代码,只留下必要的位
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
final GoogleApiClient googleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.build(); …
Run Code Online (Sandbox Code Playgroud) wear-os ×1