正如 Chris 所说,Android 中没有确切的时间。
但是你可以尝试这样接近实时......
等待5s的一些伪代码:
class mJob implements Runnable{
public void run(){
while(System.currentTimeMillis()<myExactTime){ //poll for your time
Thread.sleep(1);
}
//Ok, we are as near as we'll ever get
//call here your 'realtime' function or whatever you need
}
}
mHandler.postDelayed(mJob,4950); //the closer to 5000, the better for the cpu but you could miss your `myExactTime`
我现在不知道这有多准确,你只需要尝试一下。但我认为没有其他方法可以使用普通 SDK 变得更加“实时”。您甚至可以删除sleep(1)
以变得更接近您的myExactTime
.
对于下一次通话,请使用以下内容(从头开始):
nextCallDelayInMillis = starttimeInMillis+No1_Delay+No2_Delay-System.currentTimeMillis();