android动态切换logo和label
生活随笔
收集整理的這篇文章主要介紹了
android动态切换logo和label
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
?
注:更新版本時(shí)。需換為默認(rèn)的才可以更新apk
?
android:enabled="true"為默認(rèn)?
1、準(zhǔn)備資源
(1)logo和名稱資源
<string name="app_name">httpheader</string> <string name="app_name1">第二名</string> <string name="app_name2">第3名</string>?(2)配置組件資源
<activity-aliasandroid:name=".MainActivity0"android:enabled="true"android:icon="@mipmap/ic_1111"android:label="@string/app_name1"android:targetActivity=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity-alias><activity-aliasandroid:name=".MainActivity1"android:enabled="false"android:icon="@mipmap/ic_1212"android:label="@string/app_name2"android:targetActivity=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity-alias> MainActivity需要添加屬性:android:enabled="false"2、初始化包管理類和多個(gè)組件
private ComponentName componentName1; private ComponentName componentName2; private PackageManager mPackageManager; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setListener(this);//獲取到包管理類實(shí)例mPackageManager = getPackageManager();componentName1 = new ComponentName(getBaseContext(), "com.tianxin.httpheader.MainActivity0");componentName2 = new ComponentName(getBaseContext(), "com.tianxin.httpheader.MainActivity1");上面是? ?包名.配置組件名稱
?3、主要切換logo方法:
/*** 切換雙11logo* @param*/ public void jump01() {enableComponent(componentName1);disableComponent(componentName2); } public void jump02() {enableComponent(componentName2);disableComponent(componentName1); }/*** 啟動組件* @param componentName 組件名*/ private void enableComponent(ComponentName componentName) {//此方法用以啟用和禁用組件,會覆蓋Androidmanifest文件下定義的屬性mPackageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); }/*** 禁用組件* @param componentName 組件名*/ private void disableComponent(ComponentName componentName) {mPackageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); }?在線回復(fù)bug:QQ1085220040
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的android动态切换logo和label的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中的泛型和泛型集合
- 下一篇: tar 打包命令