[問題] 請問如何讓程式喚醒螢幕 (已解決)

看板AndroidDev作者 (小恐龍)時間13年前 (2011/04/15 15:10), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/1
我現在在寫一個鬧鐘的功能,鬧鐘執行正常,關掉螢幕也會執行 但是他並不會把螢幕打開,是我等時間到了把螢幕打開才看見它正在執行 我希望程式執行的時候能夠自己把螢幕打開,就像內建的鬧鐘一樣 我上網查了資料,本來以為是要用Intent.ACTION_SCREEN_ON 來處理 但是後來我才發覺,在我按下實體按鍵時 用registerReceiver設的BroadcastReceiver能收到螢幕開關訊息 但是我自己用PendingIntent.send()送的,他就收不到了 請問一下我該怎麼處理,是用PowerManager嗎?或是WindowManager? 還是我intent那邊搞不好設錯了? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.86.94 ※ 編輯: cooper6334 來自: 111.251.86.94 (04/15 15:11)

04/15 16:23, , 1F
不能發intent 要用wakelock
04/15 16:23, 1F

04/15 16:31, , 2F
所以是用PowerManager囉?
04/15 16:31, 2F

04/15 16:38, , 3F
你的觀螢幕式就切電源而已嗎? 還是有進入suspend to memory?
04/15 16:38, 3F

04/15 16:42, , 4F
就是按一下power鍵讓螢幕變黑
04/15 16:42, 4F

04/15 16:44, , 5F
我現在用PowerManager.WakeLock.acquire()
04/15 16:44, 5F

04/15 16:44, , 6F
uses-permission 也有設了,可是還是沒有反應
04/15 16:44, 6F

04/15 16:48, , 7F
我發覺lock以後我鬧鐘就不會等一等變暗了
04/15 16:48, 7F

04/15 16:49, , 8F
但是我希望的是app能主動打開螢幕
04/15 16:49, 8F

04/15 20:42, , 9F
喔而且內建的鬧鐘好像是綁在螢幕鎖上的,一整個很神奇
04/15 20:42, 9F

04/15 22:01, , 10F
你有加上ACQUIRE_CAUSES_WAKEUP flag嗎 @@?
04/15 22:01, 10F

04/15 22:01, , 11F
官網上寫要加這個flag才會強迫screen亮起來
04/15 22:01, 11F
感謝樓上,就是這樣 private PowerManager mPowerManager; PowerManager pm = (PowerManager) getSystemService(this.POWER_SERVICE); mWakeLock1 = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, this.getClass().getCanonicalName()); mWakeLock1.acquire(); 這樣執行到這邊的話,手機就會自動打開了 不過會卡在螢幕鎖那邊進不來 手機內建的鬧鐘是綁在螢幕鎖上的,應該不是app層能做的吧,也不是我想做的 ※ 編輯: cooper6334 來自: 118.161.52.169 (04/15 22:47)
文章代碼(AID): #1Df-zcUw (AndroidDev)