Android:按下电源按钮时防止设备锁定

时间:2015-01-10 15:25:29

标签: android android-service android-broadcast

我有一个应用程序,当设备锁定时,它会启动一个活动。通过这样做,设备不会锁定,但它会显示活动。还行吧。我的问题是,如果我已经在活动中,当我按下电源按钮时,设备会锁定。

在BroadcastReceiver中我可以看到屏幕关闭:

if (action.equals(Intent.ACTION_SCREEN_OFF)) {
            isScreenOff = true;
            final Intent serviceIntent = new Intent(context, Screensaver.class);
            serviceIntent.putExtra("screen_state", isScreenOff);
            context.startService(serviceIntent);
            Log.i(TAG, "SCREEN OFF.");
        }

然后调用我服务中的onStartCommand()。在其中我开始活动。在活动中,我看到onResume()被调用,然后是onPause(),那就是它。设备已锁定且屏幕已关闭。如果我手动解锁,活动就在那里,但不需要手动解锁。你知道我怎么解决这个问题吗? (不要犹豫,问我是否需要发布更多代码)。

修改 Here is a video让它更清晰。最后,我在我的屏幕保护程序活动中,当我按下电源按钮时,设备锁定并且不再启动屏幕。

1 个答案:

答案 0 :(得分:1)

我明白了!由于当我锁定设备时活动开始,在onStop()中调用Activity.recreate()修复了我的问题。