定时器的准确性

时间:2014-07-31 12:12:30

标签: android multithreading timer bluetooth

我正在使用this library在两个Android设备之间建立连接和数据传输。我想要做的是:一个手机每2秒发送一次相同的消息,每次接收器读取消息,它开始一些工作.. 我尝试使用Timers和TimerTasks,但它根本不同步。我得到了奇怪的不同延迟。

public void onClick(View v){
            new Timer().schedule(new TimerTask()
            {
                public void run()
                {
                    bt.send("Start");//////////////////////////////////////////////////////
                    Log.i("time", "data sent  "+System.nanoTime());
                                        }
                    try {
                        Thread.currentThread();
                        Thread.sleep(50, 0);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    s.playSound();
                    //                      
                }
            }
            , 0, 3000);

并且sleep()也不是产生延迟的好方法,因为有时会中断。 还有其他办法吗?

0 个答案:

没有答案