我制作了一个应用程序,可以将智能手机上的消息发送到我的智能手表。
这是我创建一个可以发送给smartwatch的消息的类。
public class Message implements GoogleApiClient.ConnectionCallbacks{
private String message;
private Application app;
public Message(String message, Application app){
this.message=message;
this.app = app;
}
public void sendMessage() {
new Thread( new Runnable() {
@Override
public void run() {
GoogleApiClient clientApi = new GoogleApiClient.Builder(aplicacao.getApplicationContext())
.addApiIfAvailable( Wearable.API )
.build();
clientApi.connect();
NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes( clientApi ).await();
if(nodes.getNodes().isEmpty())
Log.w("No signal!","No signal!");
else {
for (Node node : nodes.getNodes()) {
Wearable.MessageApi.sendMessage(clientApi, node.getId(), message, message.getBytes()).await();
}
}
clientApi.disconnect();
}
}).start();
}
@Override
public void onConnected(Bundle bundle) {
}
@Override
public void onConnectionSuspended(int i) {
}
}
当我想向智能手表发送消息时,我使用以下两行代码:
Message message = new Message("Message", getApplication());
message.sendMessage();
我在智能手表应用程序上创建了此服务,以便从智能手机接收消息。 当我收到一条消息时,我会用该消息的文本显示Toast:
public class ReceiveMessages extends WearableListenerService {
@Override
public void onMessageReceived(MessageEvent event) {
String message = event.getPath();
showMessages(message);
}
private void showMessages(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}
智能手表正在接收消息并正确显示消息文本,但Toast.LENGTH_SHORT
后消息不会消失。
我想知道我的代码中是否有任何问题(我没有任何无限循环)。
感谢。
答案 0 :(得分:1)
确保你的线程被终止cus似乎你发送了许多看起来像一个的toast。
答案 1 :(得分:1)
在服务中?哈哈,这是你的解决方案:
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Lumos Maxima", Toast.LENGTH_LONG).show();
}
});
答案 2 :(得分:0)
你也使用它:
Toast.makeText(Activityname.this, "message", Toast.LENGTH_SHORT).show();
答案 3 :(得分:0)
你也使用它:
Toast.makeText(Activityname.this, "message", Toast.LENGTH_SHORT).show();
或者如果它在课外,你需要获得你的活动上下文(在构造函数中传递它等)。
答案 4 :(得分:0)
尝试下一个代码:
Toast.makeText(getApplicationContext(), "Your Message", Toast.LENGTH_LONG).show();