onResume()方法不是从同一个活动调用的

时间:2012-01-12 12:28:46

标签: android

我正在使用我的应用程序中的服务运行一个Activity。因此,如果服务正在运行且键盘锁被锁定,我将通过代码解锁并再次显示我的活动。为此,我在Activity的onReceive()方法中编写了代码。

protected void onResume() 
{
    Log.d("Testing","ONRESUME OF HOME SCREEN");
    // only when screen turns on
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    super.onResume();
 }

但是,当我从我的活动转移到另一个活动(假设手机的主屏幕),并锁定钥匙保护装置时,它正在解锁并显示我的活动。但是如果我的活动正在显示并锁定钥匙防护装置,则无法解锁钥匙防护装置,除非我手动解锁它。

我不知道这个问题是什么。请帮帮....

1 个答案:

答案 0 :(得分:0)

当您的活动控制事件线程时,将调用onResume。

如果您已锁定屏幕(意味着启动此活动的其他活动),则不会调用onResume,因为将触发活动的事件将是:onPause(),onStop()之后当您完成其他活动时此活动的顶部(屏幕),然后onResume()和onStart()将被调用。

如果您的锁定屏幕是要在同一活动中显示的视图组件,则不会调用任何活动生命周期方法。