我有一個活動,直到用戶單擊按鈕時才響起。 單擊該按鈕時,會顯示一條消息。在顯示消息之後,而不是用戶按下後退按鈕退出,我希望我的活動自行退出到主屏幕。活動結束後回到主屏幕
finish()
方法做到這一點嗎?如果是,我應該如何以及在哪裏實施它?
任何形式的幫助將不勝感激。謝謝
我有一個活動,直到用戶單擊按鈕時才響起。 單擊該按鈕時,會顯示一條消息。在顯示消息之後,而不是用戶按下後退按鈕退出,我希望我的活動自行退出到主屏幕。活動結束後回到主屏幕
finish()
方法做到這一點嗎?如果是,我應該如何以及在哪裏實施它?
任何形式的幫助將不勝感激。謝謝
Intent i= new Intent("package.homescreenactivity");//homescreen of your app.
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
finish();
通過清除活動堆棧回到主屏幕。
爲了理解整個概念,我建議你看看這個網站。 http://developer.android.com/guide/components/tasks-and-back-stack.html。 該網站介紹活動備份堆棧如何工作。
更新:(2014年8月15日)
清除堆棧中可能不是一個好主意。請看有效導航設計指南。
後退按鈕應該帶你回到上一個活動。
檢查
http://developer.android.com/design/patterns/navigation.html
應用完成()方法中的所有活動。活動結束後,它將返回主屏幕。
案例1:對於按鈕單擊
public void onClick(View v) {
// Show message here
moveTaskToBack(true);
}
案例2:如果您想請用戶去家裏
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
alertbox.setTitle(res.getString("Title"));
alertbox.setMessage(res.getString("Exit"));
alertbox.setIcon(R.drawable.logo);
alertbox.setPositiveButton(res.getString(R.string.Yes),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
exit();
}
});
alertbox.setNeutralButton(res.getString(R.string.No),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
}
});
alertbox.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void exit() {
moveTaskToBack(true);
}
假設你表示作爲一個alertdialog
的消息,請致電finish()
上按下按鈕的alertdialog
。
如果您正在使用Toast()
請撥finish()
on按鈕後按Toast()
顯示。
你可以在按鈕onClick()
適用finish()
方法和後startActivity()
呼叫時,可以申請完成方法,如下圖所示。
startActivity(intent obj);
finish();
對不起,如果我不清楚。我的意思是Android手機的默認主屏幕。這是否回到它? – newbee 2013-03-08 06:32:33
檢查編輯過的帖子。 – Raghunandan 2013-03-08 06:36:59
明白了!謝謝:) – newbee 2013-03-08 06:44:16