国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Android項(xiàng)目為一個(gè)apk設(shè)置多個(gè)ICON圖標(biāo)和執(zhí)行入口

Android開發(fā)中,一個(gè)工程對應(yīng)一個(gè)AndroidManifest.xml文件,這個(gè)文件中包含有該項(xiàng)目的一些設(shè)置,如權(quán)限、SDk版Activity、Service信息等。一般而言,這個(gè)文件中會有且僅有一個(gè)application節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)表示這是一個(gè)應(yīng)用程序,不管它下面還有多少子節(jié)點(diǎn)如Activity、Service等等。形象的說,就是這個(gè)項(xiàng)目生成的apk安裝到Android設(shè)備后,應(yīng)用程序列表中會出現(xiàn)一個(gè)ICON,這個(gè)ICON就是這個(gè)程序的執(zhí)行入口了。

但是,某些情況下,我們需要為我們的apk設(shè)置多個(gè)執(zhí)行入口,也就是安裝后在應(yīng)用程序列表中出現(xiàn)多個(gè)ICON圖標(biāo),各個(gè)ICON是APP不同模塊的入口點(diǎn),并且各個(gè)模塊運(yùn)行在不同的進(jìn)程中。

可能這種需求很少見,但還是有一個(gè)現(xiàn)實(shí)的例子:系統(tǒng)中的聯(lián)系人和電話這兩個(gè)程序。表面看來這是兩個(gè)獨(dú)立的應(yīng)用程序,但實(shí)際上它們只是一個(gè)應(yīng)用程序的兩個(gè)執(zhí)行入口而已,點(diǎn)擊聯(lián)系人圖標(biāo)就會進(jìn)入聯(lián)系人界面,點(diǎn)擊電話圖標(biāo)就會進(jìn)入撥號界面,這都是通過設(shè)置該項(xiàng)目下Activity的屬性來實(shí)現(xiàn)的。

Activity有一個(gè)重要的屬性process,這個(gè)屬性是指定Activity運(yùn)行時(shí)所在的進(jìn)程。沒有指定此屬性的話,所有程序組件運(yùn)行在應(yīng)用程序默認(rèn)的進(jìn)程中,這個(gè)進(jìn)程名跟應(yīng)用程序的包名一致。中所有組建元素的process屬性能夠?yàn)樵摻M件設(shè)定一個(gè)新的默認(rèn)值。但是任何組件都可以覆蓋這個(gè)默認(rèn)值,允許你將你的程序放在多進(jìn)程中運(yùn)行。如果這個(gè)屬性被分配的名字以:開頭, 當(dāng)這個(gè)activity運(yùn)行時(shí), 一個(gè)新的專屬于這個(gè)程序的進(jìn)程將會被創(chuàng)建。

以下面的代碼為例,項(xiàng)目中有兩個(gè)Activity,其中一個(gè)采用默認(rèn)屬性,另一個(gè)為其指定process屬性以及新的ICON,這樣該項(xiàng)目安裝到設(shè)備上之后可以發(fā)現(xiàn)多了兩個(gè)應(yīng)用程序圖標(biāo),一個(gè)是應(yīng)用程序默認(rèn)的圖標(biāo),點(diǎn)擊后進(jìn)入HelloWorldActivity;另一個(gè)是手動(dòng)指定的ICON,點(diǎn)擊后進(jìn)入NextPageActivity。這時(shí)使用adb shell查看進(jìn)程可以發(fā)現(xiàn),兩個(gè)Activity是運(yùn)行在不同的進(jìn)程中的。

AndroidManifest.xml的主要內(nèi)容如下:

12345678910111213141516171819
<activity android:name=".HelloWorldActivity"          android:label="@string/app_name"          android:process=":process.main">         <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />         </intent-filter></activity> <activity android:name="cn.ian.NextPageActivity"	  android:label="@string/nextpage"	  android:process=":process.sub"	  android:icon="@drawable/icon1"	  android:launchMode ="singleInstance">	 <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />         </intent-filter></activity>

通過上面的方式,為App的各個(gè)組件指定process和icon屬性,便能夠達(dá)到類似于一個(gè)apk中打包多個(gè)程序(模塊)的目的。

ps:要特別注意,為Activity指定process屬性后,還必須為其指定launchMode為singleInstance,這樣才有效。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Unity與Android
Android程序安裝后圖標(biāo)不顯示
動(dòng)態(tài)修改app圖標(biāo)元素詳解
ActionBar
Android基礎(chǔ)知識總結(jié)
Android apk 學(xué)習(xí)筆記 --- Android apk fundamental ...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服