android的widget開發,如何實現widget顯示出來才更新?

若奇 发布于 2013/04/23 11:36
阅读 1K+
收藏 0

android開發中,例如我的widget是個時鍾,在第2屏。我劃到第2屏,它被顯示出來了,才進行時間更新。又或者鎖了屏,解鎖後,widget時鐘才進行更新。

這種想法基於兩個原因:1、節省資源,不希望service長期運作;2、針對某些kill進行的軟件,一旦把service殺掉,widget就無法更新,是否能在widget進入屏幕時重新啟動service。

想法具體是:widget不在屏幕時,則停掉service。重新回到屏幕時,讀取系統時間,並更新widget界面。這樣比較省電,也不怕被kill。我發現我手機上自帶的時鍾widget就是這樣做的,widget被顯示到當前屏幕才更新時間,所以肯定是有辦法實現的。但我無法反編譯其odex文件,不知道它是怎樣寫的。

有誰能告訴我,這種做法要如何做?能詳細一點解釋嗎?(最好能用代碼說事)

加载中
0
loki_lan
loki_lan
在onResume和onPause两个方法里面启动和关闭Service不就行了么?
若奇
若奇
widget跟activity基本沒關聯吧。我問的是widget,activity關不關掉沒關系。
loki_lan
loki_lan
回复 @若奇 : 这个类我没有用过,但是你是用哪个Activity调用了这个Provider可以在那个Activity里面操作吧。
若奇
若奇
AppWidgetProvider有onResume方法嗎?好像沒找到
返回顶部
顶部