moveTaskToBack(true)始终返回false

我知道这里和这里早些时候也有人问过 。他们没有得到适当的回答(或者根本没有回答)。但是,我不知道为什么moveTaskToBack(true); 对我来说永远都是假的。任何人都可以告诉我为什么以及如何解决这个问题呢? 提前致谢。

 public void onBackPressed() { boolean r= moveTaskToBack(true); //r is false !! using API LEVEL 8 } 

注意:我调用它的ActivitytabActivity包含的子Activity ,这不是MAINLAUNCHER活动。我不知道这是否有所不同。

编辑:因此应用程序不会去后台。我希望它转到后台,就像硬件HOME被按下一样

我不知道为什么moveTaskToBack(true)为你返回false 。 也许你的清单里有些奇怪的东西? 无论如何,你可以这样做来调出主屏幕:

 Intent i = new Intent(); i.setAction(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); this.startActivity(i); 

但是,请注意以下消息 :

“你无法模拟Home键上的按键。” – Android框架工程师Roman Guy

我不确定我的建议代码(我在与Roman的声明相同的post中找到并且似乎有效)的方格。

我遇到了类似的问题( tabActivity中包含的子Activity ),当你在子活动中调用moveTaskToBack(true)时,它不起作用,而它在父活动中起作用 。 您可以在子活动中调用moveTaskToBack(true),如下所示: ChildActivity.this.getParent().moveTaskToBack(true)

写吧:

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