我有服务(服务有一个广播接收器,它监听ACTION_BATTERY_CHANGED
),我想计算两个时间标记之间经过的时间,这就是我所拥有的:
public void onReceive(Context context, Intent intent){
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
long time;
long startTime=0;
if(OldLevel==0){
OldLevel=level;
startTime = System.nanoTime();
}
else{
time=System.nanoTime()-startTime;
startTime=System.nanoTime(); //edited
Log.e("inFFFF","FFFF "+time);// I somehow here get 16243428223995 nanoseconds which are too large because in reality it just take 1-2min.
}
}
如果你能请: 1. 告诉我为什么时间比预期的大 2. 或者建议更好的方法来计算正在流逝的时间。