将消息发送到android设备,该设备会将消息发送回android wear,但在收到消息时不会在wear上触发
我正在为android编写一个应用程序,它可以与设备进行通信并返回到设备。这是onclick on wear的代码将消息发送到android设备,该设备会将消息发送回android wear,但在收到消息时不会在wear上触发,android,wear-os,Android,Wear Os,我正在为android编写一个应用程序,它可以与设备进行通信并返回到设备。这是onclick on wear的代码 message1Button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Wearable.MessageApi.sendMessage(apiClient, remoteNodeId, MES
message1Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Wearable.MessageApi.sendMessage(apiClient, remoteNodeId, MESSAGE1_PATH, null).setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Intent intent = new Intent(getApplicationContext(), ConfirmationActivity.class);
if (sendMessageResult.getStatus().isSuccess()) {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.SUCCESS_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, getString(R.string.message1_sent));
} else {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.FAILURE_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, getString(R.string.error_message1));
}
startActivity(intent);
}
});
message1Button.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Wearable.MessageApi.sendMessage(apiClient,remoteNodeId,MESSAGE1_PATH,null).setResultCallback(new ResultCallback()){
@凌驾
public void onResult(MessageApi.SendMessageResult SendMessageResult){
Intent Intent=新的Intent(getApplicationContext(),ConfirmationActivity.class);
if(sendMessageResult.getStatus().isSuccess()){
intent.putExtra(确认活动.额外动画类型,确认活动.成功动画);
intent.putExtra(ConfirmationActivity.EXTRA_消息,getString(R.string.message1_sent));
}否则{
intent.putExtra(确认活动.额外动画类型,确认活动.失败动画);
intent.putExtra(ConfirmationActivity.EXTRA_消息,getString(R.string.error_消息1));
}
星触觉(意向);
}
});
以下是手持设备上接收的on的代码
MessageReceived(MessageEvent MessageEvent)上的公共无效{
if(messageEvent.getPath().equals(MESSAGE1_PATH)){
handler.post(新的Runnable(){
@凌驾
公开募捐{
receivedMessageEditText.append(“\n”+getString(R.string.received_message1));
String serverURL=“工作URL”;
试一试{
ArrayList=新建ArrayList();
添加(0,服务器URL);
列表。添加(1,“按帐户编号从客户钱包积分订单中选择不同的帐户编号”);
jsonContent=new LongOperation().execute(list.get();
}捕捉(中断异常e){
Log.e(“Error”,e.getMessage());
e、 printStackTrace();
}捕获(执行例外){
e、 printStackTrace();
}
Log.d(“json的值”,jsonContent);
}
});
Wearable.MessageApi.sendMessage(apiClient、remoteNodeId、MESSAGE4_路径、jsonContent.getBytes()).setResultCallback(new ResultCallback()){
@凌驾
public void onResult(MessageApi.SendMessageResult SendMessageResult){
if(sendMessageResult.getStatus().isSuccess())
Toast.makeText(getApplication(),“已发送消息4”,Toast.LENGTH_SHORT.show();
其他的
Toast.makeText(getApplication()、getString(R.string.error_message1)、Toast.LENGTH_SHORT.show();
}
});
}else if(messageEvent.getPath().equals(MESSAGE2_PATH)){
handler.post(新的Runnable(){
@凌驾
公开募捐{
receivedMessageEditText.append(“\n”+getString(R.string.received_message2));
}
});
}
}
手持设备显示“Message 4 sent”(消息4已发送)toast(土司)。但该设备上的消息侦听器从未触发。其代码为
messageListener = new MessageApi.MessageListener() {
@Override
public void onMessageReceived(final MessageEvent messageEvent) {
Log.d("Inside","On message recieved");
if (messageEvent.getPath().equals(MESSAGE1_PATH)) {
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message1));
/*COde to send another request*/
Wearable.MessageApi.sendMessage(apiClient, remoteNodeId, MESSAGE3_PATH, "Hello".getBytes()).setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Intent intent = new Intent(getApplicationContext(), ConfirmationActivity.class);
if (sendMessageResult.getStatus().isSuccess()) {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.SUCCESS_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, "Message 3 sent");
} else {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.FAILURE_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, getString(R.string.error_message2));
}
startActivity(intent);
}
});
}
});
} else if (messageEvent.getPath().equals(MESSAGE2_PATH)) {
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message2));
}
});
}
else if(messageEvent.getPath().equals(MESSAGE4_PATH)){
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message1));
/*COde to send another request*/
// String jsonInString=new String(messageEvent.getData());
Log.d("Inside Message 4","Inside");
String[] items = new String[]{"Select User", "2", "three"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, items);
dropdown.setAdapter(adapter);
message2Button.setEnabled(true);
}
});
}
}
};
messageListener=newmessageapi.messageListener(){
@凌驾
消息接收时公共无效(最终消息事件消息事件){
日志d(“内部”、“收到消息时”);
if(messageEvent.getPath().equals(MESSAGE1_PATH)){
handler.post(新的Runnable(){
@凌驾
公开募捐{
receivedMessageEditText.append(“\n”+getString(R.string.received_message1));
/*发送另一个请求的代码*/
Wearable.MessageApi.sendMessage(apiClient,remoteNodeId,MESSAGE3_路径,“Hello”.getBytes()).setResultCallback(新ResultCallback()){
@凌驾
public void onResult(MessageApi.SendMessageResult SendMessageResult){
Intent Intent=新的Intent(getApplicationContext(),ConfirmationActivity.class);
if(sendMessageResult.getStatus().isSuccess()){
intent.putExtra(确认活动.额外动画类型,确认活动.成功动画);
intent.putExtra(确认活动.EXTRA_消息,“已发送消息3”);
}否则{
intent.putExtra(确认活动.额外动画类型,确认活动.失败动画);
intent.putExtra(ConfirmationActivity.EXTRA_消息,getString(R.string.error_消息2));
}
星触觉(意向);
}
});
}
});
}else if(messageEvent.getPath().equals(MESSAGE2_PATH)){
handler.post(新的Runnable(){
@凌驾
公开募捐{
receivedMessageEditText.append(“\n”+getString(R.string.received_message2));
}
});
}
else if(messageEvent.getPath().equals(MESSAGE4_PATH)){
handler.post(新的Runnable(){
messageListener = new MessageApi.MessageListener() {
@Override
public void onMessageReceived(final MessageEvent messageEvent) {
Log.d("Inside","On message recieved");
if (messageEvent.getPath().equals(MESSAGE1_PATH)) {
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message1));
/*COde to send another request*/
Wearable.MessageApi.sendMessage(apiClient, remoteNodeId, MESSAGE3_PATH, "Hello".getBytes()).setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Intent intent = new Intent(getApplicationContext(), ConfirmationActivity.class);
if (sendMessageResult.getStatus().isSuccess()) {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.SUCCESS_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, "Message 3 sent");
} else {
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.FAILURE_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, getString(R.string.error_message2));
}
startActivity(intent);
}
});
}
});
} else if (messageEvent.getPath().equals(MESSAGE2_PATH)) {
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message2));
}
});
}
else if(messageEvent.getPath().equals(MESSAGE4_PATH)){
handler.post(new Runnable() {
@Override
public void run() {
receivedMessagesEditText.append("\n" + getString(R.string.received_message1));
/*COde to send another request*/
// String jsonInString=new String(messageEvent.getData());
Log.d("Inside Message 4","Inside");
String[] items = new String[]{"Select User", "2", "three"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, items);
dropdown.setAdapter(adapter);
message2Button.setEnabled(true);
}
});
}
}
};