admin 管理员组

文章数量: 1184232

有时候我们会遇到这样的问题,我们的领导要求我们在节日的时候把APP中的各种图标和文案更换掉,比如双十一之类的时候。界面内的图标我们都不需要太过的关注,没什么问题,我想大多数同学都是会更换的。但是桌面的图标和名称真的是不会呀。没关系,这篇文章可以让你很轻松的修改桌面图标。

首先我们需要在AndroidManifest.xml中修改如下代码

<activity android:name="assistant.splash.activity.SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/splashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity-alias
            android:name="Changzhou"
            android:enabled="false"
            android:label="@string/app_name2"
            android:icon="@mipmap/ic_launcher2"
            android:targetActivity="assistant.splash.activity.SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity-alias>
        <activity-alias
            android:name="Kaifeng"
            android:enabled="false"
            android:icon="@mipmap/ic_launcher3"
            android:label="@string/app_name3"
            android:targetActivity="assistant.splash.activity.SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity-alias>

此处我们定义了两个新的入口,这里可以使用我们要更换的图标和名称

对应的更换时机,我们对应的三个图标更换方法如下

PackageManager packageManager = getPackageManager();
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this,
                        "assistant.splash.activity.SplashActivity"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Changzhou"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Kaifeng"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);
PackageManager packageManager = getPackageManager();
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this,
                        "assistant.splash.activity.SplashActivity"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Changzhou"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Kaifeng"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager
                        .DONT_KILL_APP);
PackageManager packageManager = getPackageManager();
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this,
                        "assistant.splash.activity.SplashActivity"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Changzhou"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager
                        .DONT_KILL_APP);
packageManager.setComponentEnabledSetting(new ComponentName(MoreRuleActivity.this, getPackageName() +
                        ".Kaifeng"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
                        .DONT_KILL_APP);

这样我们就可以实现图标的变换。

本文标签: 教你如何 玩转 编程