私はいくつかのアクティビティ(A&Bと言う)を持っています.1つのアクティビティから、Handler-post Delayedメソッドを使用して別のアクティビティを呼び出しています。
私のロジックはアプリ内にあり、アクティビティ A から始まり、3 秒後にアクティビティ B に移動します。3 秒後、完全に機能しています。
問題は、3 秒の時間遅延を設定したことです。この 3 秒間にホーム ボタンをクリックすると、バックグラウンドになり、指定された 3 秒後にアプリケーションがフォアグラウンドに戻り、次のアクティビティが表示されます。 .
try {
handler.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
finish();
Intent i = new Intent(Asplash.this, Example.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
}
}, 3000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
handler.removeCallbacksAndMessages(null);
finish();
return super.onKeyDown(keyCode, event);
}
私はこのようなコードを使用しています.HANDLER TIME中の戻るボタンは正常に機能し、アプリケーションは完全にバックグラウンドになります. 、しかし、HOMEボタンを押すと、最初はバックグラウンドになり、HANDLER TIME(3000)の完了後、アプリケーションがフォアグラウンドになります。ホームボタンも押した後にのみバックグラウンドにしたい。
教えてください>