日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Launcher源碼中Intent.createChooser()實現原理

系統 1894 0
在上一篇中,簡單的分析了一下源代碼,在

處百思不得其解,后來在網上找,也沒有很透徹的解釋。先看下它的官方文檔吧:



在google上面也找了下,慢慢的有些明白,在一篇文章中看到這么一段話:

這里是要找到所有能處理Intent.ACTION_SET_WALLPAPER請求的activity,其字符串表示為android.intent.action.SET_WALLPAPER。使用Eclipse搜索之后,在以下應用的AndroidManifest.xml文件都找到了能處理這個請求的activity:
packages/apps/Gallery
packages/apps/Launcher2
packages/wallpapers/LivePicker
再看看下面的這個圖:
Launcher源碼中Intent.createChooser()實現原理及小例子

壁紙對應的是Launcher2里面的WallpaperChooser.activity。動態壁紙對應的是packages/wallpapers/LivePicker的LiveWallpaperListActivity,他們的共同點 就是在AndroidManifest.xml都有

如下定義,或許你有了些許明白,看下 http://groups.google.com/group/android-developers/browse_thread/thread/9d376a94066057a4 這里面的解釋,我英語不是太好,按照我自己的理解就是,你如果像下面這樣
建立一個intent chooser,系統會尋找所有activity,然后把有
定義的activity形成列表提供給使用者。為了驗證我的想法,個人寫了一個很簡單的小例子,MainActivity代碼如下:
還有一個demo,代碼如下

demo.xml文件里面只有一個textview很簡單。
然后是AndroidManifest.xml文件:



注意:


我在這里面加了intent適配器
<action android:name="android.intent.action.SET_WALLPAPER" />


運行下程序,點擊button按鈕,效果如下:

Launcher源碼中Intent.createChooser()實現原理及小例子


我這個網速太不給力了,弄的心煩意燥,大家看到我自己寫的demo在圖片中得到了顯示,這也是在 上一篇 http://blog.csdn.net/aomandeshangxiao/article/details/6767423 中給大家看的圖片,為什么我的選項多了一個。說到這里,想必大家都明白了這個原理了,中秋節還有幾分鐘就要到了,祝福大家中秋愉快。


上面所說的簡單的小例子下載地址: http://download.csdn.net/detail/aomandeshangxiao/3593740

Launcher源碼中Intent.createChooser()實現原理及小例子


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 盐源县| 阜南县| 祁连县| 斗六市| 舞阳县| 罗源县| 万载县| 赤峰市| 深泽县| 泾阳县| 连州市| 卢湾区| 镇远县| 定陶县| 卢龙县| 威信县| 阳信县| 星座| 东台市| 达孜县| 科技| 泰兴市| 灵璧县| 宿松县| 鄢陵县| 峨眉山市| 错那县| 且末县| 民丰县| 株洲市| 堆龙德庆县| 南阳市| 虹口区| 贵南县| 大冶市| 绍兴市| 防城港市| 崇阳县| 泰安市| 水富县| 鞍山市|