不能刪除
刪除
多餘的case老版本預埋ICON數量 = 新版本預埋ICON數量
,因此AndroidManifest.xml文件中只須要一個activity-alias節點便可。一、在AndroidManifest.xml文件中,activity-alias必需要定義在targetActivity後面android
二、只能替換預埋在應用內的icon,不能替換網絡圖片;網絡
是由於圖片只能在AndroidManifest.xml文件中引用,不能經過代碼動態設置。ide
四、建議在應用退出的時候更換icon(這是我目前能想到的最合理的方式);post
緣由一:系統刷新icon時間較長,此時若返回到桌面(好比說按Home鍵),點擊應用圖標會提示應用未安裝
;ui
緣由二:系統刷新icon時間較長,若應用一直保持在前臺,可能(部分設備/部分場景)存在過了一段時間以後應用被殺死;spa
四、icon切換爲activity-alias標籤中指定的圖片後,AndroidStudio不能運行安裝。須要切回activity標籤中指定的圖片,才能夠運行安裝;設計
解決方案:code
4.一、在AndroidManifest.xml文件中爲activity和activity-alias設置scheme,例如:cdn
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="icon_change" android:path="/main" android:scheme="fqxyi" />
</intent-filter>
複製代碼
4.二、打開Run/Debug Configurations彈框,修改General頁面中的Launch Options,詳細請看圖:xml
五、AndroidManifest.xml文件中添加過activity-alias標籤以後,下一版本不能刪除,可能
會致使應用升級異常:
以工程中的activity(MainActivity),activity-alias(activityAlias、activityAlias2)爲例,且在升級包中刪除了activity-alias(activityAlias2),則會有如下兩種狀況:
狀況一:已安裝應用的enable activity非activityAlias2,爲MainActivity或activityAlias,則能正常升級;
狀況二:已安裝應用的enable activity爲activityAlias2,升級完成後桌面上將找不到該應用,經過設置
界面能夠搜索到該應用的應用信息。
結論:一旦在AndroidManifest.xml文件中定義過activity-alias,建議不要刪除
。