【问题标题】:Going to the apps screen when pressing the back button in android在android中按下后退按钮时转到应用程序屏幕
【发布时间】:2015-11-11 17:10:01
【问题描述】:

我有一个 android 应用程序,当我按下返回按钮时,我的应用程序需要转到应用程序屏幕,所以我为此目的使用以下代码

@Override
public void onBackPressed()
 { 
    Intent i= new Intent(Intent.ACTION_ALL_APPS);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i); 
}

但它不起作用并说“不幸的是,您的应用程序已停止”
谁知道问题出在哪里,或者提供另一种方法来做同样的事情

【问题讨论】:

  • @Hoo 什么是 logcat?对不起,我是初学者
  • 看起来像this
  • 控制台为空
  • 崩溃时会显示错误
  • 你想去你的应用程序的第一个屏幕或按 bck press 到上一个屏幕吗?

标签: android start-activity onbackpressed


【解决方案1】:

您可以使用下面的 Intent 来做到这一点。此意图将启动用户定义的启动器应用程序。

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);    

或者你也可以使用这个单行解决方案:

moveTaskToBack(true);  // activity.moveTaskToBack(true)

它将表现为按下主页按钮

【讨论】:

  • moveTaskToBack(true); 解决了我想要的东西,非常感谢
  • 为什么要投反对票!!有些人英语不好,表达不出他们想要的东西。 . . StackOverflow 应该关注这些...
  • 您的帖子被否决的原因有很多。见here
  • @HamreenAhmad 很高兴是我的 :)
【解决方案2】:

如果你想回到你的应用屏幕,你可以试试这个。我希望这会有所帮助!

   @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event)  { 
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
            // do something on back.
            Intent i = new Intent(Intent.ACTION_ALL_APPS); 
            i.addCategory(Intent.CATEGORY_HOME); 
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            startActivity(i); 

           this.finish(); 
            return true; 
        } 

        return super.onKeyDown(keyCode, event); 
    } 

【讨论】:

    猜你喜欢
    • 2014-01-02
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多