gpt4 book ai didi

android - WearableListenerService onMessageReceived 未在设备上调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:59 25 4
gpt4 key购买 nike

我正在尝试使用 Wearable.MessageApi 从我的 Android Wear 应用向我的手机应用发送一条简单消息。

这是我在 Wear 设备上来自 GoogleApiClient 的 onConnected 回调。

final PendingResult<Status> status = Wearable.DataApi.addListener(googleApiClient, this);
status.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (!status.isSuccess()) {
return;
}

NodeApi.GetConnectedNodesResult nodes =
Wearable.NodeApi.getConnectedNodes(googleApiClient).await();
for (Node node : nodes.getNodes()) {
System.out.println("Sending message: " + node.getDisplayName());
final MessageApi.SendMessageResult result =
Wearable.MessageApi.sendMessage(googleApiClient, node.getId(),
"request", "12345".getBytes())
.await();
System.out.println("sent: " + result.getStatus().isSuccess());
}
}
});

运行时显示以下内容

Sending message: Nexus 6P
sent: true

这是我在我的应用程序上注册的服务:

public class MyWearableListenerService extends WearableListenerService {

@Override
public void onMessageReceived(MessageEvent messageEvent) {
Toast.makeText(this, "Received message", Toast.LENGTH_LONG).show();
}

@Override
public void onPeerConnected(Node peer) {
Toast.makeText(this, "Peer connected", Toast.LENGTH_LONG).show();
}
}

当模拟器连接到我的设备时,我正确地验证了 Peer connected toast 出现了。我正确地进行了端口转发以在磨损模拟器上进行调试。我检查了我的 applicationId 和包名称在我的应用程序和 Wear 应用程序中是否一致。但是,我从未在我的设备上收到 onMessageReceived 回调。

非常感谢任何建议!我已经调试了一整天:(

最佳答案

哦,天哪..我想通了我的问题。我以为 applicationId 是相同的,但事实证明我从未在 wear 模块上设置构建风格,所以这两个 applicationId 实际上是 com.example.androidcom.example。 android.dev..

希望这可以帮助遇到与我相同问题的其他人:\

关于android - WearableListenerService onMessageReceived 未在设备上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33817622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com