我正在使用我的应用程序中的服务运行一个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();
}
但是,当我从我的活动转移到另一个活动(假设手机的主屏幕),并锁定钥匙保护装置时,它正在解锁并显示我的活动。但是如果我的活动正在显示并锁定钥匙防护装置,则无法解锁钥匙防护装置,除非我手动解锁它。
我不知道这个问题是什么。请帮帮....
答案 0 :(得分:0)
当您的活动控制事件线程时,将调用onResume。
如果您已锁定屏幕(意味着启动此活动的其他活动),则不会调用onResume,因为将触发活动的事件将是:onPause(),onStop()之后当您完成其他活动时此活动的顶部(屏幕),然后onResume()和onStart()将被调用。
如果您的锁定屏幕是要在同一活动中显示的视图组件,则不会调用任何活动生命周期方法。