KKO*_*KKO 4 android screen alarm alarmmanager android-activity
我已经设置了一个AlarmManager来启动一个活动.此活动还会播放声音,类似于闹钟应用或来电.
即使屏幕被锁定,如果屏幕打开也可以正常工作.
如果屏幕关闭,则根本不起作用.我尝试使用以下内容作为onCreate中的第一件事
getWindow().setFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
如果未启用屏幕锁定,则会打开屏幕,我可以看到我的活动已关闭.我听不到播放的声音.如果启用了屏幕锁定,则屏幕根本不会打开.
有时我会得到以下内容,但并非总是如此:
07-18 23:52:13.685: E/OpenGLRenderer(14148): GL_INVALID_OPERATION
Run Code Online (Sandbox Code Playgroud)
如何在屏幕关闭时使其正常启动?
我从这里得到了部分答案.
lock = ((KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE)).newKeyguardLock(KEYGUARD_SERVICE);
powerManager = ((PowerManager) getSystemService(Context.POWER_SERVICE));
wake = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
lock.disableKeyguard();
wake.acquire();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4269 次 |
| 最近记录: |