Android应用程序:BACK按钮就像HOME按钮---问题

时间:2016-09-25 06:16:07

标签: android android-studio

我尝试使用下面的代码,如其他问题中所述的“后退”按钮就像“主页”按钮一样,但它不起作用:

@Override
public void onBackPressed() {
moveTaskToBack(true);
}

我没有必要在其他问题上写评论,因为我已经打开了这个问题。

第1期:HOME按钮正在退出应用程序。只有在第一次重置智能手机后,HOME按钮才会将应用程序置于后台(不退出)

第2期:我试图让BACK按钮与上面的代码一样使用HOME按钮,但只能禁用BACK按钮。

。在第一次成功登录和Twitter身份验证之后,当用户单击BACK按钮或HOME按钮(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... 
    } 

来源: How to return to the latest launched activity when re-launching application after pressing HOME?

3 个答案:

答案 0 :(得分:0)

使用以下代码。

public void onBackPressed() {
              super.onBackPressed();
            }

答案 1 :(得分:0)

以下代码不会完成您的活动,但会将您的应用程序带到主页按钮等背景中。

 public void onBackPressed() {    
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}

答案 2 :(得分:0)

在您的活动中,您必须覆盖onBackPressed()。

 @Override
        public void onBackPressed() {
            super.onBackPressed();
            Utils.redirectToHomeActivity(this);
        }

Utils.java

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);
        }