使用onPause()方法时出现问题

时间:2012-03-21 11:59:12

标签: android

我有一个活动..当它是onPause()来电时,它会启动一个新的活动。问题是当我锁定我的手机屏幕时...它会调用onPause导致它返回主要活动,但我想留在那个活动..有没有办法解决这个问题?

如果它有帮助,这是代码片段。

@Override
protected void onPause() {
    super.onPause();
    call_next_activity(call_next_act);
}

private void call_next_activity(Boolean call_next) {
    if (!call_next)
        return;
    Intent select_one;
    if (program_id) {
        select_one = new Intent("c.theworld.com.nikhil.MENU");
    } else {
        select_one = new Intent("c.theworld.com.nikhil.CHAPTER");
        Chapter.call_menu = true;
    }
    startActivity(select_one);
}

2 个答案:

答案 0 :(得分:3)

你真的,真的,不应该在onPause()中添加类似的内容。

onPause()是一个生命周期,表示活动因某种原因停止,用户按下主页,返回,接听电话。控件之外的许多事件都可能导致onPuase()被调用。

你绝对应该在onPause()方法中不开始,重新调整你的应用程序以使你的工作变得不同。

答案 1 :(得分:0)

您应该尝试更改代码中的逻辑。由于多种原因 - 按下主页按钮,来电,锁定电话,活动可能会停止。所有都将触发onPause。因此,我建议您在想要开始新活动时选择其他替代方案。