以下將為大家簡單的分析一下源代碼中luncher修改壁紙的過程(一下代碼均來自Luncher源代碼):
一.當我們在luncher界面按下menu的時候,第三個選項就是Wallpaper,定義如下(源碼1116行,局部),menu.add第二項既是選擇wallpaper:

二.當我們按下Wallpaper觸發什么事件呢?看一下代碼(源代碼1171行):
我們看到:

而它調用的事件是
你們看到的圖片跟我的都不一樣,呵呵,這是因為我寫了一個很簡單的demo,然后就系統給調用了,所以你們看到一個比你們多了一個wallpaperdemo。在下一篇日志中,我會說下這個demo是如何實現的。
三.下面讓我們看下startWallpaper()這個方法(源代碼1370行):
很多人可能會對他是如何實現跳轉設置的呢?Intent.createChooser()這個方法的實現原理趕到好奇,因為你在Luncher源代碼里面找不到Live Wallpapers和Galleryde的實現。因為他是通過一個類似廣播的機制。
在 下一篇日志 http://blog.csdn.net/aomandeshangxiao/article/details/6768249 中,將為大家詳細介紹Intent.createChooser()的用法。
我所寫的簡單的小例子: http://download.csdn.net/detail/aomandeshangxiao/3593740
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
