当前位置:   article > 正文

Android如何动态切换APP图标和AppName_android动态修改图标和名称

android动态修改图标和名称

记录一下更换APP图标和AppName,说是动态,也不太动态,需要提前配置好打进去APK的

1、第一步 在AndroidManifest 配置

<activity
    android:icon="@drawable/text_icon"
    android:label="Text name"
    android:name=".ui.activity.TextActivity"
    android:launchMode="singleTop"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustPan">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".ui.activity.Text2Activity"
    android:launchMode="singleTop"
    android:screenOrientation="portrait" />

2、第二步 创建TextActivity并继承默认的HomeActivity:

public class TextActivity extends HomeActivity {

}

3、第三步 切换代码:

public class Text2Activity extends BaseActivity implements View.OnClickListener {

    @Override
    protected int layoutId() {
        return R.layout.activity_text;
    }

    @Override
    protected void initData(Bundle savedInstanceState) {
        findViewById(R.id.icon1).setOnClickListener(this);
        findViewById(R.id.icon2).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.icon1) {
            changeIcon(true);
        } else if (v.getId() == R.id.icon2) {
            changeIcon(false);
        }
    }


    /**
     * 修改图标和名称的方法
     *
     * @param enable
     */
    public void changeIcon(boolean enable) {
        PackageManager pm = getApplicationContext().getPackageManager();

        if (enable) {
            //显示TextActivity图标
            pm.setComponentEnabledSetting(new ComponentName(getBaseContext(), getPackageName+".TextActivity"),
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP);

            //去掉HomeActivity图标
            pm.setComponentEnabledSetting(new ComponentName(getBaseContext(), getPackageName+".HomeActivity "),
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP);
            Log.d("TAG", "换TextActivity的图标");
        } else {
            //显示HomeActivity图标
            pm.setComponentEnabledSetting(new ComponentName(getBaseContext(), getPackageName+".HomeActivity "),
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP);
            //去掉TextActivity图标
            pm.setComponentEnabledSetting(new ComponentName(getBaseContext(), getPackageName+".TextActivity"),
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP);

            Log.d("TAG", "换HomeActivity的图标");
        }
    }
}

//如果想要app有多个图标,只需要新建几个activity页面并添加android:documentLaunchMode="intoExisting"    属性即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/865732
推荐阅读
相关标签
  

闽ICP备14008679号