看板 AndroidDev 關於我們 聯絡資訊
不好意思,標題限制的關係,我要問的是: READ_PHONE_STATE 我在某篇 Stack Overflow 的回應看到了使用底下 Code 監聽來電的事件 http://pastie.org/10423164 和其他寫法不同的是,他並沒有在 Receiver 中加入 Listener, 如: TelephonyManager mgr = (TelephonyManager)context .getSystemService(Context.TELEPHONY_SERVICE); mgr.listen( myListener , PhoneStateListener.LISTEN_CALL_STATE); 而是純粹靠著 Broadcast Receiver 去處理來電的事件監聽。 我測試過,這樣使用沒有問題,能夠正常的接收到三個事件(鈴響、接通、掛斷) 但是在某台手機上, 卻發現常常會有,電話來了沒觸發 Receiver 的問題 程式 onReceive 中的 Log.d() 都沒顯示。 不過這種情況發生時,只要我掛掉電話 (大概讓他想個 10 秒,直接掛斷) 後大概 1~3 秒,才會看到 Logcat 跑出那些訊息。 想請問,這個狀況會有可能是什麼問題呢? 比如說手機記憶體用量太大,造成我的 Receiver 晚啟動,或者有甚麼其他問題? 感謝~~ PS : 那台手機雖然常常有這個狀況,但有時候也是正常的,電話一響就出現訊息 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.254.16.222 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1442397645.A.C51.html
hungys: 也是有可能是那台手機framework有問題 09/18 11:09
qweqweqweqwe: 用receiver就要有可能收不到的心理準備.. 09/19 02:12
darkk6: 目前將 priority 加高 好像還蠻有效的XD 09/19 21:05