Android 如何强制设备以待机模式返回

Android 如何强制设备以待机模式返回,android,power-management,standby,Android,Power Management,Standby,我有一个闹钟,它会定期(每30秒)唤醒我的设备。当警报启动时,我使用以下代码打开一个窗口: private void CreatePreviewDialog() { dummy_frame_layout = new DummyFrameLayout(context); wm_params = new WindowManager.LayoutParams( 240, 320, 0, 0, WindowM

我有一个闹钟,它会定期(每30秒)唤醒我的设备。当警报启动时,我使用以下代码打开一个窗口:

private void CreatePreviewDialog()
{               
    dummy_frame_layout = new DummyFrameLayout(context);

    wm_params = new WindowManager.LayoutParams(
            240, 320, 0, 0,
            WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,                
            // WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON|                
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
            PixelFormat.TRANSLUCENT);

    wm_params.gravity = Gravity.CENTER;
    wm_params.setTitle("Preview");

    window_manager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
    window_manager.addView(dummy_frame_layout, wm_params);
}
然后,我用以下代码关闭窗口:

private void DestroyPreviewDialog()
{
    ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).removeView(dummy_frame_layout);
    dummy_frame_layout = null;
}
问题如下。假设设备处于待机模式。当报警发生时,它调用
CreatePreviewDialog
,打开显示屏。调用
DestroyPreviewDialog
时,我希望设备返回待机模式,或者至少关闭显示器,但我尚未找到解决此问题的任何方法。在关闭
DestroyPreviewDialog
中的窗口之前,我还添加了以下代码:

    wm_params.screenBrightness = 0.0f;
    window_manager.updateViewLayout(dummy_frame_layout, wm_params);

但什么也没发生。屏幕保持打开,显示锁屏,直到下一次报警发生。就像应用程序在前台一样。有什么想法吗

没有办法做到这一点。。。 看看这个问题:

您需要系统应用程序的权限