以编程方式进入主屏幕

当用户点击button时,我想在Android中以编程方式进入主屏幕。 如何才能做到这一点?

Solutions Collecting From Web of "以编程方式进入主屏幕"

你可以通过一个意图来做到这一点。

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

这个意图将启动用户定义的启动器应用程序。 要小心,因为这将看起来像你的应用程序崩溃,如果用户不期望这一点。

如果你想要从你的应用程序build立一个退出button,请阅读这篇关于Android 退出button的文章

一线解决scheme

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

它会像Homebutton一样被按下

Janusz的回答非常好。

我想添加的唯一的东西,对于评论来说有点太长了,你可以在没有引用当前活动的情况下进入主屏幕。

由于startActivity() ,Janusz的代码需要从Activity或Fragment中调用,

为了解决这个问题,你可以在应用程序文件中存储一个静态引用到你的应用程序上下文:

 public class YourApplication extends Application { private static Context mAppContext; public void onCreate() { super.onCreate(); ... YourApplication.mAppContext = getApplicationContext(); } public static Context getContext() { return mAppContext; } } 

现在,您可以从应用程序中的任何类将用户发送到设备主屏幕,而不仅仅是活动,片段或其他类,并引用当前的活动(您可以决定这是好事还是坏事):

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

从Android开发者网站

以下是可以使用这些附加参数指定为意向的其他操作的一些示例:

 * ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen. 

我知道这有点晚了,但我也遇到了同样的问题,这是我如何解决它。 回到你的MainActivity你需要添加退出Activity标志

  final Intent mainActivity = new Intent(this, MainActivity.class); mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 

现在当你按下MainActivity的后退button时,它将进入主屏幕。