看板 AndroidDev 關於我們 聯絡資訊
為了解決關螢幕之後無法偵測的問題 我參考網路用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
mamaya3:很可能是由於kernel的power saving setting 02/09 03:57
mamaya3:如果是這樣 幾乎無解 除非你自己弄的全螢幕黑屏偽裝成關螢 02/09 03:57
mamaya3:幕...XD 02/09 03:58
hungys:無解喔...糟糕 那為什麼揮手開關螢幕的App可以做到? 02/09 10:55
qazxcvbn:可能要去get wakelock 強制讓手機不要近入sleep 02/09 12:51
hungys:有誰可以提供揮手開螢幕的code嗎? 我有用wakeLock喔~ 02/09 13:08
hungys:http://codepad.org/ZODWLkJh 02/09 13:09
hungys:剛剛實驗證明 Proximity Sensor一切正常...... 02/09 17:15
mamaya3:以前有人試過 各sensor情況不一 有些用wakelock有解有些無 02/09 18:14
mamaya3:不過那是2.1時期的事了 02/09 18:15
hungys:我目前只有測到一台Desire S在接上eclipse時可以 02/09 18:46
hungys:另一台HD2刷了好幾種ROM都不行~"~ 02/09 18:46
hungys:所以確定Accelerometer目前無解囉@@? 02/09 18:47
iincho:睡下去要不要關是driver的事情..... 02/10 00:25
iincho:所以應該是說,看搞底層的人怎麼做.... 02/10 00:26
WPC001:我來回這篇好了, 一般是無法做到, 除非你能直接改framwork 02/11 09:18
WPC001:撥電話時proximity的螢幕開關是所謂的proximity_wake_lock 02/11 09:19
WPC001:但一般透過SDK寫出來的程式將無法使用(也沒權限) 02/11 09:19
WPC001:只能用偽裝的方是模擬成關螢幕 02/11 09:20
WPC001:(不能真的去關喔...關了的話,sensor也會收到要被關掉的訊息 02/11 09:21