[問題] 關閉螢幕後怎麼維持Sensor開啟狀態

看板AndroidDev作者 (hungys)時間14年前 (2012/02/08 18:56), 編輯推噓1(1019)
留言20則, 5人參與, 最新討論串1/1
為了解決關螢幕之後無法偵測的問題 我參考網路用Broadcast的方式在偵測到關螢幕時重新註冊Sensor 但至今仍然無解... public BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // Check action just to be on the safe side. if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { // Unregisters the listener and registers it again. mSensorManager.unregisterListener(AccelerometerService.this); mSensorManager.registerListener(AccelerometerService.this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); } } }; 後來用eclipse紀錄狀態:Log.v(“Accelerometer Working”, “Accelerometer Working”, ); 發現只要一關掉螢幕Sensor就停掉不再回傳data了 PS.不是Broadcast的問題,因為我試過加入一段倒數10秒的trigger,螢幕確實會自己開 起來 Anyone can help me about this? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.198.90

02/09 03:57, , 1F
很可能是由於kernel的power saving setting
02/09 03:57, 1F

02/09 03:57, , 2F
如果是這樣 幾乎無解 除非你自己弄的全螢幕黑屏偽裝成關螢
02/09 03:57, 2F

02/09 03:58, , 3F
幕...XD
02/09 03:58, 3F

02/09 10:55, , 4F
無解喔...糟糕 那為什麼揮手開關螢幕的App可以做到?
02/09 10:55, 4F

02/09 12:51, , 5F
可能要去get wakelock 強制讓手機不要近入sleep
02/09 12:51, 5F

02/09 13:08, , 6F
有誰可以提供揮手開螢幕的code嗎? 我有用wakeLock喔~
02/09 13:08, 6F

02/09 13:09, , 7F

02/09 17:15, , 8F
剛剛實驗證明 Proximity Sensor一切正常......
02/09 17:15, 8F

02/09 18:14, , 9F
以前有人試過 各sensor情況不一 有些用wakelock有解有些無
02/09 18:14, 9F

02/09 18:15, , 10F
不過那是2.1時期的事了
02/09 18:15, 10F

02/09 18:46, , 11F
我目前只有測到一台Desire S在接上eclipse時可以
02/09 18:46, 11F

02/09 18:46, , 12F
另一台HD2刷了好幾種ROM都不行~"~
02/09 18:46, 12F

02/09 18:47, , 13F
所以確定Accelerometer目前無解囉@@?
02/09 18:47, 13F

02/10 00:25, , 14F
睡下去要不要關是driver的事情.....
02/10 00:25, 14F

02/10 00:26, , 15F
所以應該是說,看搞底層的人怎麼做....
02/10 00:26, 15F

02/11 09:18, , 16F
我來回這篇好了, 一般是無法做到, 除非你能直接改framwork
02/11 09:18, 16F

02/11 09:19, , 17F
撥電話時proximity的螢幕開關是所謂的proximity_wake_lock
02/11 09:19, 17F

02/11 09:19, , 18F
但一般透過SDK寫出來的程式將無法使用(也沒權限)
02/11 09:19, 18F

02/11 09:20, , 19F
只能用偽裝的方是模擬成關螢幕
02/11 09:20, 19F

02/11 09:21, , 20F
(不能真的去關喔...關了的話,sensor也會收到要被關掉的訊息
02/11 09:21, 20F
文章代碼(AID): #1FCbJulV (AndroidDev)