このように、(2回ボタンをクリックしてください):私が活動中で二回timeatskをスケジュール活動におけるさまざまTimer.scheduleとBroadcastReceiver
が、私はschedue:
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_timer:
addTimer();
break;
}
}
private void addTimer(){
Log.e("----","------"+Thread.currentThread().getName());
if(timerTask == null){
timerTask = new TimerTask() {
@Override
public void run() {
timerCount++;
Log.e("----","------=="+Thread.currentThread().getName());
Log.e("------","------"+timerCount);
}
};
}
if(timer == null){
timer = new Timer();
timer.schedule(timerTask,1000,1000);
}
}
結果はBroadcastReceiverの同じタスク(ボタンを2回クリック): inActivity:
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_timer:
Intent intent = new Intent();
intent.setAction("timer");
this.sendBroadcast(intent);
break;
}
}
in broadcastReceiver: ' @Override 公開されていませんonReceive(コンテキストコンテキスト、意図インテント){ addTimer(); }
private void addTimer(){
Log.e("----",Thread.currentThread().getName());
if(timerTask == null){
timerTask = new TimerTask() {
@Override
public void run() {
timerCount++;
Log.e("----","------=="+Thread.currentThread().getName());
Log.e("------","------"+timerCount);
}
};
}
if(timer == null){
timer = new Timer();
timer.schedule(timerTask,1000,1000);
}
}`
が、結果は何が起こっている in two thread!
私はビデオを再生する秒数をカウントするためにタイマを使用します。ビデオは停止し、何度も開始されるので、複数のブロードキャストを送信する必要があります。問題はどのように解決できますか? – shumengma
その後、サービスに秒を送信し、サービスでタイマーを開始しないでください。なぜタイマーが必要ですか?開始日時を 'Date'変数に記録し、停止したときにビデオが再生された秒数を計算するのはなぜでしょうか。 – gjsalot
ありがとうございます、シングルマスクは仕事です – shumengma