我有一些活動(說A & B),並且通過使用Handler-post Delayed方法從一個活動中調用另一個活動。Android - 按下主頁按鈕之後,活動從處理程序開始
我的邏輯是在應用程序開始活動A,3秒後去活動B. & 3秒後,它是完美的工作。
問題是我已經設置三個seconds.And在這些3秒時間延遲,如果我點擊home鍵,這是不言而喻的背景和在規定的時間三秒應用回來後立即前景並顯示下一個活動。
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);
}
我使用這樣的代碼,併爲處理程序在TIME後退按鈕做工精細,應用程序是完全去後臺。 ,但是如果我按HOME按鈕,它最初會進入背景,在HANDLER TIME(3000)完成後,應用程序即將到達前臺。我希望它只在按Home按鈕之後才能在後臺運行。
請給我建議>
你不能抓住'HOME'按鈕,因爲用戶必須能夠離開應用程序。否則,你可以編寫一個應用程序,它不會在後退按鈕和主頁按鈕上執行任何操作,從而使你陷入應用程序中。 – tolgap 2013-03-06 09:30:06