moveTaskToBack(true)始终返回false

时间:2013-01-23 06:13:10

标签: java android android-activity

我知道早些时候已经问过here& here too。他们没有得到适当的回答(或根本没有得到回答)。但是,我不知道为什么moveTaskToBack(true);总是对我说谎。可以有人告诉我为什么以及如何解决这个问题?提前谢谢。

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

注意:我调用它的活动是Activity中包含的子tabActivity,而且 MAIN LAUNCHER 活动。我不知道这是否有所作为。

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

3 个答案:

答案 0 :(得分:8)

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

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

但是,请注意this message

  

“您无法在Home键上模拟按下。” - Roman Guy,Android框架工程师

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

只需写下:

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