手机设备未收到手表发送的Android Wear消息

时间:2015-01-14 19:11:39

标签: android wear-os

我想从Watch向手机发送消息。 我可以使用MessageAPI向手机发送消息,通过查看日志消息也可以获得成功。但是,电话不会收到该消息。

Wearable.MessageApi.sendMessage(mGoogleApiClient, mNode.getId(),
                    MY_DATA_PATH, null).setResultCallback(

            new ResultCallback<MessageApi.SendMessageResult>() {
                @Override
                public void onResult(
                        MessageApi.SendMessageResult sendMessageResult) {

                    if (!sendMessageResult.getStatus().isSuccess()) {
                        Log.d("TAG",
                                "sendMessageResult NOT successful");
                    } else {
                        Log.d("TAG",
                                "sendMessageResult successful");
                    }
                }
            });

但是,在我的手机的监听服务中,不会调用onMessageReceived和onPeerConnected。

public class ListenerServiceFromWear extends WearableListenerService {

private static final String My_DATA_PATH = "/my-data-path";

@Override
public void onMessageReceived(MessageEvent messageEvent) {
    Log.d("TAG", "onMessageReceived");

    /*
     * Receive the message from wear
     */
    if (messageEvent.getPath().equals(MY_DATA_PATH)) {

        Intent startIntent = new Intent(this, ContactActivity.class);
        startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startIntent);
    }

}



@Override
public void onPeerConnected(Node node){
    Log.d("TAG", "onPeerConnected");
}

}

以下是ListenerService的电话应用程序的Manifest声明:

<service android:name="com.mobile.rbc.services.ListenerServiceFromWear" >
        <intent-filter>
            <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
        </intent-filter>
    </service>

1 个答案:

答案 0 :(得分:4)

找到答案。 问题是Android Wear的apk已签名且Phone的apk未签名 我正在使用Eclipse调试它,这就是为什么手机的应用程序没有签名。 通常,如果两个apks没有使用相同的密钥签名,您将在日志中看到一些内容。

ensureBindStarted:app与记录的app键不匹配:AppKey