[問題] 電話狀態 Receiver 是否會延遲觸發?

看板AndroidDev作者 (Mr. Pan)時間10年前 (2015/09/16 18:00), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
不好意思,標題限制的關係,我要問的是: 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

09/18 11:09, , 1F
也是有可能是那台手機framework有問題
09/18 11:09, 1F

09/19 02:12, , 2F
用receiver就要有可能收不到的心理準備..
09/19 02:12, 2F

09/19 21:05, , 3F
目前將 priority 加高 好像還蠻有效的XD
09/19 21:05, 3F
文章代碼(AID): #1L-JtDnH (AndroidDev)