カウントダウンタイマーがあります。60秒の終わりに私は新しい活動を始めました。正常に動作します。しかし、カウントダウンタイマーが終了する前にホームボタンまたは戻るボタンを押すと、その特定の時間の後、ホーム画面にいる場合でもアクティビティが自動的に開始されます。this.finish();を使用してアクティビティを終了しました。しかし、それでも機能しません。解決策を教えてください。
4 に答える
0
要件に応じて、アクティビティ内onPause()/onResume()
またはアクティビティのタイマーを処理する必要があります。onDestroy()
例えば。タイマーの使用を単に停止したい場合:
timer.cancel()
のonDestroy()
このようなもの:
@Override
protected void onDestroy() {
timer.cancel();
super.onDestroy();
于 2012-08-09T05:18:03.127 に答える
0
バックグラウンドスレッドは実行を継続し、ホーム画面を表示している場合でもアクティビティが開始されるため、コードでホームボタンと戻るボタンを無効にする必要があります。私はあなたの活動のためにホームボタンを無効にするためにあなたにこのコードを与えています。
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
これにより、そのアクティビティを実行している間、ホームボタンが無効になります。
これがお役に立てば幸いです。
于 2012-08-09T05:18:05.827 に答える
0
アクティビティのOnPauseイベントをオーバーライドできます。アクティビティがバックに送信されたら、それを終了します。
@Override
public void onPause(){
super.onPause();
timer.cancel();
this.finish();
}
于 2012-08-09T05:18:17.400 に答える
0
ユーザーがホームボタンまたは戻るボタンを押すと、タイマースレッドがバックグラウンドで実行されているため、onDestroy()メソッドをオーバーライドして、タイマーを停止する必要があります。
于 2012-08-09T07:21:48.897 に答える