Android 定製自己的launcher
launcher是安卓系統中的桌面啟動器,安卓系統的桌面UI統稱為Launcher。Launcher是安卓系統中的主要程式元件之一,安卓系統中如果沒有Launcher就無法啟動安卓桌面,Launcher出錯的時候,安卓系統會出現“程序 com.android.launcher 意外停止”的提示視窗。這時需要重新啟動Launcher。
對於大部分Android開發來說不用改變Android的launcher,不過有的需要做定製的Android系統,比如有的商家做的是放在汽車上的平板,這種情況下,用原生態的Android系統,圖示眾多和圖示小,給使用者的使用帶來了不好的體驗,這種情況下,只需要自己做一個launcher來代替Android原生態的launcher就可以了,在自己的launcher裡面,你想放哪些圖示就放哪些圖示,想放多大就放多大。
把自己的apk改成launcher的方法:
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.MONKEY" /> </intent-filter>
然後執行程式,重啟之後,就會出現一個選擇launcher的頁面,
這個時候表示系統篩選的時候能夠識別自己做的launcher。比如點選“測試用”app,開啟之後,按home鍵就不會再出現Android自帶的桌面了,只會出現“測試用”app的首頁。不過在首頁按返回鍵會返回到選擇launcher這個頁面,去重寫onBackPressed()也沒有用,暫時不知,後面再看
@Overridepublic void onBackPressed() { // super.onBackPressed(); }
至於怎麼讓系統不彈出選擇而是預設,後面再看。
(後面遇到了自己寫的luncher打敗了系統的luncher的情況,一開機自動選擇自己的luncher,只有在自己luncher損壞的情況下才會出現系統的luncher,這個效果的做法,是把自己寫的luncher的包名寫入系統裡面,具體怎麼操作,我就不清楚了)
題外話:
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
如果你的應用程式中沒有宣告任何一個活動作為主活動,這個程式仍然是可以正常安裝的,只是你無法在啟動器中看到或者開啟這個程式。這種程式一般都是作為第三方服務供其他的應用在內部進行呼叫的,如支付寶快捷支付服務。