Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 计时器精度_Android_Multithreading_Timer_Bluetooth - Fatal编程技术网

Android 计时器精度

Android 计时器精度,android,multithreading,timer,bluetooth,Android,Multithreading,Timer,Bluetooth,我正在使用它在两台android设备之间建立连接和数据传输。我想做的是:一部手机每2秒钟发送一条相同的信息,每次接收者阅读信息时,它就会开始一些工作。。 我试着用计时器和TimerTask来做,但它根本不同步。我有奇怪的不同的延迟 public void onClick(View v){ new Timer().schedule(new TimerTask() { public void run()

我正在使用它在两台android设备之间建立连接和数据传输。我想做的是:一部手机每2秒钟发送一条相同的信息,每次接收者阅读信息时,它就会开始一些工作。。 我试着用计时器和TimerTask来做,但它根本不同步。我有奇怪的不同的延迟

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);
而且睡眠也不是产生延迟的好方法,因为有时它会被打断。 还有别的办法吗