看板 AndroidDev 關於我們 聯絡資訊
各位前輩好 小弟用broadcast寫了一個動態註冊的廣播,方法是參考網址在推文一樓。在寫出來後發現發出廣播後receiver那邊卻接收不到,後來將receiver 寫在別的activity 後有收到廣播,有檢查過註冊方式跟receiver 寫法,但是在這個activity 中一直找不出問題,想麻煩各位前輩指導幫忙 謝謝 https://i.imgur.com/vAFfQcD.jpg
----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.215.131.87 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1558339094.A.7CD.html ※ 編輯: PenguinLee (49.215.131.87), 05/20/2019 16:08:53
PenguinLee: 那個網址手機貼文顯示不出來 寫在推文內 05/20 16:09
PenguinLee: https://reurl.cc/Vqd0R05/20 16:09
※ 編輯: PenguinLee (49.215.131.87), 05/20/2019 16:11:00
starburs: 寫在別的 activity 有收到,那不就是代表這個 activity 05/20 18:29
receiver那邊的activity有oncreate 就在圖片右邊那塊的第29.30行
starburs: 根本沒有 onCreate 嗎 05/20 18:29
aiweisen: 沒寫過發廣播跟收廣播都在同一個activity 你可以試試先 05/20 19:02
aiweisen: 不要用程式發廣播 直接用 adb 下廣播指令 看是不是同樣 05/20 19:02
aiweisen: 收不到 05/20 19:02
※ 編輯: PenguinLee (182.235.147.221), 05/20/2019 19:45:11
PenguinLee: 不好意思 那張圖片是截圖併在一起的 左邊是service 發 05/20 19:49
PenguinLee: 送廣播 右邊是activity 接收。 05/20 19:49
PenguinLee: 後來發現將receiver 接收端放在其他的activity 都收不 05/20 19:49
PenguinLee: 到只有最左邊的收的到 但是寫法都一樣...不知道哪裡出 05/20 19:49
PenguinLee: 錯了 05/20 19:49
PenguinLee: https://i.imgur.com/puz1teW.jpg 05/20 19:49
aiweisen: starburs說的應該是 oncreate沒有被執行 05/20 20:05
aiweisen: 你在oncreate裡面加個log 看有沒有輸出 05/20 20:06
starburs: 只有 MainActivity 收到那答案應該很明顯了XD 05/20 20:29
starburs: 你的 Main2 跟 Main3 都沒有被創建出來,沒有跑 onCreat 05/20 20:29
starburs: e 自然就沒有註冊廣播了 05/20 20:29
darkheaven: 來個github幫你看下? 05/21 01:29
PenguinLee: 感謝大家的回覆 找到問題所在 因為模擬的時候沒有跳到 05/21 12:16
PenguinLee: receiver 那頁所以廣播接收器沒有開...算是接受端生命 05/21 12:16
PenguinLee: 週期的問題 只是想問一下大家如果要讓頁面即使沒開 05/21 12:16
PenguinLee: 還能接收到廣播的話動態註冊有辦法嗎 聽說靜態註冊好 05/21 12:16
PenguinLee: 像很多都被停掉了QQ 05/21 12:16
kobe8112: ...你Activity用不到的話為啥還會需要註冊? 05/21 12:26
gcobc12632: 還是能靜態註冊 05/21 12:27
starburs: 25樓突破盲點 05/21 14:07
PenguinLee: 不是啦 我忘記點開 因為忘記動態靜態註冊生命週期不同 05/21 15:17
PenguinLee: 只是現在想用靜態註冊 因為希望app沒開還能接收 不過 05/21 15:17
PenguinLee: 看android 好像要關掉部分靜態註冊 現在在想怎麼辦比 05/21 15:17
PenguinLee: 較好 05/21 15:17
kobe8112: 你沒有要呈現UI的話為啥一定要收廣播= =? 05/21 17:17