Toast Stop - getConnectedNodes

时间:2016-01-08 13:11:35

标签: java android

我提供了一项服务,以检测我的智能手机是否可以与智能手表通信。

如果我将此行添加到我的代码中:

NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes(mApiClient).await();

当我关闭我的应用时,它停止接收Toast消息。我不知道为什么。

我的服务代码:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    initGoogleApiClient();
    new Thread( new Runnable() {
        @Override
        public void run() {
            while(true) {
                    NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes(mApiClient).await();
                    Message messageWithoutSignal= new Message();
                    messageWithoutSignal.arg1 = 1;
                    messages.sendMessage(messageWithoutSignal);
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }).start();
    return START_STICKY;
}

 Handler messages= new Handler(new Handler.Callback() {
    @Override
    public boolean handleMessage(Message msg) {
        if(msg.arg1==1)
            Toast.makeText(getApplicationContext(), "Doesn't have signal!", Toast.LENGTH_SHORT).show();
        return false;
    }
});

感谢。

1 个答案:

答案 0 :(得分:0)

我使用了TimerTask,现在它正在使用而不是Thread.sleep。 http://developer.android.com/reference/java/util/TimerTask.html