[問題] 使widget變殭屍的原因...?

看板AndroidDev作者 (Camel)時間11年前 (2014/05/13 19:03), 編輯推噓3(3016)
留言19則, 3人參與, 最新討論串1/1
大家好 : ) 想請教各位前輩開發widget時有沒有遇到過 "一開始update與一般運作都正常,但一段時間過後widget就被打回原型 (預設的layout),且完全不能點不能動" 的狀況呢@@?? 因使用自己的手機做測試一直沒有發生類似的問題,所以沒有錯誤報告可以參考... 這兩天也用了各種想到的關鍵字去google,找出以下可能的狀況: 1. 將onUpdate裡的動作移到Service執行,可避免它來不及做完 但若是使用者一開始有一段時間的update是可以正常執行的話, 是不是表示這段在onUpdate裡面的code並不會太長呢...? 還是是我鴕鳥心態解讀錯誤了... :p 2. 爬了板上的文章發現可能有pendingIntent flag設錯的問題(?)導致widget不能點, 檢查程式碼之後確定flag設定應是正確的... 又回到一直覺得 "使用者一開始有一段時間可以正常使用" 的鴕鳥點@@ 3. google發現有可能是當手機記憶體不足時,appwidget provider被 "殺死" (?!) 但這個狀況... 不才的原PO實在看不懂最後網友解決的方法是什麼 囧 :) well I did that eventually, but i was thinking it to be a bad hack. I actually have 3 entities a WakeAliveService in my code, a WidgetUpdateService and the AppWidgetProvider. WakeAliveService sends periodic broadcasts which are picked up by the WidgetUpdateService to update the widgets in a list stored in ApplicationClass. AppWidgetProvider updates the list with ids in OnUpdate / OnDelete. When the widget id is updated the list is saved back to prefs. When Application starts again the list is read. On a reboot this list is cleared. DO you think this is a right approach ? 想請教大家不知有沒有類似的開發經驗可以分享呢@@... 也跪求關於上面英文的解讀 T^T 呼~~ 真的還有很長一段的學習路要走 : ) 先說聲謝謝大家 <(_ _)> 感恩~~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.111.94 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1399979025.A.7F7.html

05/13 21:54, , 1F
是4.4嗎?
05/13 21:54, 1F

05/13 22:07, , 2F
程式的target是4.4,不過自己使用的裝置是4.1,目前發現
05/13 22:07, 2F

05/13 22:08, , 3F
會變殭屍的有note2與4.0 @@ 但另外一位朋友的note2卻又是
05/13 22:08, 3F

05/13 22:09, , 4F
正常的... 等等腦袋清醒一點再來嘗試看看上面那段英文字
05/13 22:09, 4F

05/13 22:10, , 5F
若有找到答案會再PO上來跟大家分享!! 希望可以!!! 哈...
05/13 22:10, 5F

05/13 23:08, , 6F
那段的解法真的太hack了 或許說很多餘 應該要有更好的解法
05/13 23:08, 6F

05/14 12:29, , 7F
今天想到一個新的辦法... 從Activity裡面增加一個可以更
05/14 12:29, 7F

05/14 12:30, , 8F
新所有widget的按鈕,再請會變殭屍的朋友(?!)幫忙測測看
05/14 12:30, 8F

05/14 12:31, , 9F
能不能按那個鈕把widget救回來 =p... 測試後若可行會再補
05/14 12:31, 9F

05/14 12:31, , 10F
上後續狀況,謝謝大家 =)
05/14 12:31, 10F

05/16 19:52, , 11F
這個方法似乎行不通… 不知道是不是widget provider完全
05/16 19:52, 11F

05/16 19:52, , 12F
不能執行onUpdate方法的關係…
05/16 19:52, 12F

05/16 21:59, , 13F
你是怎麼叫activity更新widget的 broadcast intent嗎?
05/16 21:59, 13F

05/17 07:04, , 14F
後來發現原來是寫錯了根本沒有呼叫到onUpdate..(烏龍^^")
05/17 07:04, 14F

05/17 07:05, , 15F
是的是的,用intent send brocast讓onReceive接收Action
05/17 07:05, 15F

05/17 07:06, , 16F
再用更新版讓朋友測測看一次=) 希望這次會成功!! 哈~~
05/17 07:06, 16F

05/23 15:16, , 17F
成功將殭屍widget救回!! 使用了下面連結的方法,把它補上
05/23 15:16, 17F

05/23 15:16, , 18F
來希望能對以後遇到相同問題的人有幫助 ^^
05/23 15:16, 18F

05/23 15:17, , 19F
05/23 15:17, 19F
文章代碼(AID): #1JSVmHVt (AndroidDev)