方法:
** 使用android中的activity-alias標(biāo)簽(為activity設(shè)置一個(gè)別名,相當(dāng)于增加了一個(gè)啟動(dòng)的入口) **
具體步驟如下
1、在AndroidManifest.xml中為主activity提供如下配置
<activity-alias
android:name=".MainAliasActivity"
android:enabled="false"
android:icon="@mipmap/ic_launcher_new"
android:label="另外一個(gè)名字"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
| 屬性 | 含義 |
|---|---|
| enabled | 是否生效。配置多個(gè)activity-alias時(shí),如果只想一個(gè)生效,就設(shè)置一個(gè)為true |
| icon | 自定義生效時(shí)的icon |
| label | 作用同Activity標(biāo)簽中的label屬性,主要表現(xiàn)為桌面上的app名稱和activity的title的名稱 |
| name | 該activity-alias的名字 |
| targetActivity | 指明目標(biāo)Activity,類似于Activity標(biāo)簽中的name屬性,需寫(xiě)明包類路徑。表明通過(guò)activity-alias調(diào)起的是哪個(gè)Activity |
2、在代碼中調(diào)用方法:
changeIcon("com.dm.learn_dynamic_icon.MainAliasActivity");
public void changeIcon(String activityPath) {
PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
pm.setComponentEnabledSetting(new ComponentName(this, activityPath),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
參考資料:
http://blog.csdn.net/hansion3333/article/details/54946304
http://www.see-source.com/blog/300000032/1430.html
http://blog.csdn.net/u013718120/article/details/53893774