动态替换App Icon

       <activity
            android:name=".ui.MainActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity-alias
            android:name=".test"  //启动的标志名称,可随意起
            android:enabled="false"  //不激活。需要时再激活
            android:icon="@mipmap/again"  //启动图标
            android:label="学生端"  //App名称
            android:targetActivity=".ui.MainActivity">  //这个入口对应的Activity
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity-alias>

  private void replaceIcon() {
        PackageManager pm = getContext().getPackageManager();
        
        enableComponent(pm, getActivity().getComponentName());
        disableComponent(pm, new ComponentName(getContext(), "org.dance.wulei.test"));
    }

    private void enableComponent(PackageManager pm, ComponentName componentName) {
        pm.setComponentEnabledSetting(componentName,
                PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                PackageManager.DONT_KILL_APP);
    }


    private void disableComponent(PackageManager pm, ComponentName componentName) {
        pm.setComponentEnabledSetting(componentName,
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容