当设备进入睡眠模式时,活动状态是什么?

时间:2012-01-23 10:31:31

标签: android

我有一个要求是禁用键盘锁并在发生任何警报时打开屏幕。 场景是:我的应用程序正在前台运行,主要活动正在屏幕上显示,设备进入睡眠模式,当发生任何警报时,我必须打开屏幕并禁用键盘锁,因为我正在使用标志onResume活动方法中的FLAG_TURN_SCREEN_ON和FLAG_DISMISS_KEYGUARD,但是当主要活动在屏幕上运行时,似乎它没有调用活动的onresume方法,因此我无法打开并禁用键盘锁。 所以我想知道,当屏幕打开时,如果我的活动显示在屏幕上,那么将调用哪个活动生命周期?

请帮助我理解这个问题。

此致 皮克斯

2 个答案:

答案 0 :(得分:1)

这里是我的应用程序中的一段代码希望这个帮助

ALARMRECEIVER.class

public final class ALARMRECEIVER extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {    
        Intent intent2 = new Intent(context,unlock.class);
        intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent2);
    }            
}

unlock.class

public void onCreate(Bundle savedInstancestate){
        final Window win = this.getWindow();
        win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                      | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
            win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                          | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    }

答案 1 :(得分:0)

当您的屏幕打开并显示活动时,您将在onResume()中获得回调。
但在您的情况下,它不会发生,因为活动仍然没有出现在前台。
而不是将一些听众放到你的特定警报中,然后你会对事件有所了解(在你的情况下发出警报)然后执行你的行动。