Android的案頭(Launcher)的定製

來源:互聯網
上載者:User

如何在Android的啟動案頭上預設一些你需要的元素呢?下面為你解答

1. 如何讓系統以動態案頭的方式啟動?

修改位置在frameworks/base/core/res/res/values目錄找到Config.xml檔案,找到下面這一行

<string name="default_wallpaper_component">null</string>  

將其修改為對應的live wallpaper的啟動component name即可,而component name的形式就是下面這樣的package name/class name,這裡的class name是這個動態壁紙的service的name,而且記得要用全名哦,用的service的name給的是相對名字,如.xxxx,這種就需要在前面加上package name,而至於如何查看一個動態壁紙的package name和service name就需要用DoApk的反編譯工具來將這個APK反編譯,從反編譯後得到的AndroidManifest.xml裡面去尋找了,如要把預設壁紙設定為2.1內建的galaxy,這樣寫即可:

<string name="default_wallpaper_component">com.android.wallpaper/com.android.wallpaper.galaxy.GalaxyWallpaper

</string>

需要注意的是:靜態圖片壁紙和live wallpaper是兩個系統,載入的時候是完全兩套機制,靜態圖片通過launcher裡面的一個xml檔案配置來管理系統預設靜態壁紙,live wallpaper則是通過intent機制向系統搜尋所有匹配Activity,所以,這裡的預設值為null,而不是那個系統預設靜態壁紙的地址,系統是讀config.xml檔案的設定,若為null才繼續尋找靜態壁紙配置內容.

如果只需要修改動態壁紙,替換frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源碼中修改對應default_wallpaper地址.

 

2. 如何在Launcher上添加預設的ShortCut?

修改的位置在Launcher的default_workspace.xml中

先給個例子:

<favorite

launcher:packageName="com.android.camera"

    launcher:className="com.android.camera.Camera"

    launcher:screen="2"    <!--在laucnher上放在第幾屏的位置,假如有5個屏的話,為0-4,中間的屏為2-->

    launcher:x="0"    <!--在Launcher上儲存格的X位置-->

    launcher:y="4" />    <!--在Launcher上儲存格的Y位置-->

 

注意:就仿照上面的例子依樣畫葫蘆,不過記得className要用全名哦,有的AndroidManifest.xml中給的是相對的名字。

 

3. 如何在Launcher上添加預設的Widget?

修改的位置在Launcher的default_workspace.xml中:

先給個例子

<appwidget

    launcher:packageName="com.google.android.apps.genie.geniewidget"

launcher:className="com.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider"

    launcher:screen="4"

    launcher:x="0"     <!--在Launcher上儲存格的X位置-->

    launcher:y="0"     <!--在Launcher上儲存格的Y位置-->

    launcher:spanX="5"     <!--在Launcher上X方向的跨度大小-->

    launcher:spanY="2" />     <!--在Launcher上Y方向的跨度大小-->

 

注意:classname使用的是你需要的reciver的name,這個name也是在AndroidManifest.xml中尋找,使用全名哦,要得到AndroidManifest.xml的內容,那就是使用DoApk反編譯吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.