[英]Android app: BACK button act like HOME button --- issue
我曾嘗試使用下面的代碼,如其他問題中所述,使“后退”按鈕的作用類似於“主頁”按鈕,但它不起作用:
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
我沒有點對其他問題發表評論,因此我打開了這個。
第一個問題:HOME 按鈕使應用程序退出。 只有在第一次重置智能手機后,HOME鍵才會將應用程序置於后台(不退出)
第二個問題:我嘗試使用上面的代碼使 BACK 按鈕表現得像 HOME 按鈕,但 BACK 按鈕僅被禁用。
. 在第一次成功登錄和 Twitter 身份驗證后,當用戶點擊返回按鈕或主頁按鈕(Android 按鈕)時,應用程序必須留在后台(不退出)。
我究竟做錯了什么?
謝謝
應用程序: http : //play.google.com/store/apps/details?id=com.xranky
已修復問題 2:使用下面的 @zilk 代碼
修復問題 1:您必須在登錄/開始屏幕上插入以下代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// Activity was brought to front and not created,
// Thus finishing this will get us to the last viewed activity
finish();
return;
}
// Regular activity creation code...
}
為此使用以下代碼。
public void onBackPressed() {
super.onBackPressed();
}
下面的代碼不會完成您的活動,但會將您的應用程序帶到后台,如主頁按鈕。
public void onBackPressed() {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
}
在您的活動中,您必須覆蓋 onBackPressed()。
@Override
public void onBackPressed() {
super.onBackPressed();
Utils.redirectToHomeActivity(this);
}
實用程序
public static void redirectToHomeActivity(Activity activity) {
if (activity == null || activity.isDestroyed())
return;
if (!activity.isTaskRoot()) return;//Return whether this activity is not in the root of a task.
Intent intent = new Intent(activity, MainScreenActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);//this is use to start new activity
activity.startActivity(intent);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.