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

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

系統 1981 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 淳安县| 罗平县| 郑州市| 凤城市| 洞口县| 西峡县| 通江县| 靖边县| 通许县| 库车县| 姚安县| 郓城县| 泊头市| 广丰县| 张家川| 田东县| 铜梁县| 介休市| 昌邑市| 咸阳市| 张家川| 徐水县| 正镶白旗| 梁山县| 阿瓦提县| 保亭| 和田县| 河东区| 华坪县| 仲巴县| 平安县| 娄底市| 达州市| 遂昌县| 望奎县| 腾冲县| 石狮市| 富源县| 灌云县| 城口县| 左权县|