推广

动态更新桌面图标 icon

iseeyu2年前 (2024-02-22)推广143

属性表

代码示例
<activity-alias
            android:name=".ui.jingdong618"
            android:enabled="false"
            android:icon="@mipmap/normal_listner"
            android:label="切换名称1"
            android:targetActivity=".ui.MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity-alias>
  • activity-alias 可以预存多个,然后根据条件去替换对应的icon,及设置桌面app 名称
<activity
            android:name=".ui.MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:launchMode="singleTask"
            android:screenOrientation="portrait">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

</activity>
- - - -在Activity 中:
// 声明 要替换的别名
String currentString = "com.qhpc.fangzhou.ui.jingdong618";
// 替换方法
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, 0);


        //重启桌面 加速显示
//        restartSystemLauncher(pm);
    }

public void restartSystemLauncher(PackageManager pm) {
        ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
        Intent i = new Intent(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_HOME);
        i.addCategory(Intent.CATEGORY_DEFAULT);
        List<ResolveInfo> resolves = pm.queryIntentActivities(i, 0);
        for (ResolveInfo res : resolves) {
            if (res.activityInfo != null) {
                am.killBackgroundProcesses(res.activityInfo.packageName);
            }
        }
 }

    @Override
protected void onDestroy() {
     changeIcon();
     super.onDestroy();
 }

说明:

  • 我们依赖后端接口告知我们需要替换桌面icon了,这时候,我们将预先放置的icon 对应的别名 currentString 赋值,然后存在本地(sharePreference )存储,为空才去替换, 放在启动页的onDestroy 方法中去替换是考虑到,这样替换的话跟随用户手动退出操作就做了桌面icon的替换,用户无感知;

代码传送门 https://github.com/peterQin0826/AutoChangeIcon.git

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56501.html

相关文章

小编教你全网营销推广下,企业如何更好的生存。

小编教你全网营销推广下,企业如何更好的生存。

互联网的快速发展让对于网络营销策略需要不断的进行调整,从之前的网络营销到现在的全网营销,单仁资讯一直走在行业的前列,帮助更多的企业家利用网络快速成长。那么在如今的全网推广营销时代企业应该如何进行营销呢? 一、品牌全网推广 其实在互联网有自己的独立品牌是最好推的,理论不多说,直接来实战。...

拼多多新人怎么注册?一看就会的详细教程在这里!

拼多多新人怎么注册?一看就会的详细教程在这里!

随着互联网的发展,电商平台如雨后春笋般涌现,其中拼多多凭借其独特的社交电商模式,吸引了大量的用户。那么,对于拼多多的新手来说,如何注册并开始使用拼多多呢?我将为大家带来一份一看就会的详细教程。 我们需要明确,注册拼多多非常的简单,只需要几个简单的步骤就能完成。这个过程可以分为三个部分...

分享一套行之有效的软文营销实操方案

随着移动互联网以及互联网的迅猛发展,各种信息铺天盖地,很多有价值的信息均来源于。软文吧认为的发展已经趋于成熟,口碑时代全面来临。对于一家企业,无论发展处于哪个阶段,在网络上的口碑和舆情非常重要,而在网络营销的众多方式当中,软文营销发挥着无可取代的作用,值得企业进行尝试。接...

避免与客户冲突的销售技巧

避免与客户冲突的销售技巧

作为技术人员,有些时候不可避免与客户在某些方面发生意见不一致的时候,此时应该运用销售注意化解,正确处理,给到客户想要的面子,收获我们想要得里子。就是战场,想要销售产品,商人不论对错,论得失,想要销售产品,就要学会将方法理论与行动赋能结合。成交客户的过程从攻心四问,攻心四述,...

退款率计算公式是什么(淘宝直播退款率计算方法)

退款率计算公式是什么(淘宝直播退款率计算方法)

  淘宝的品质会影响到我们会不会再次购买,那么问题来了,我们的淘宝在退款的时候会产生多少这个退款呢?这个数据大家知道吗?一般多少算是正常呢?下面针对这些问题我们来一一介绍,有需要的朋友来学习下吧!      在网上开店或者开店,总会有退货和换货的。有的七天没理由退货,有的有质量问题才退货。有...

小编教你非常适合网络营销团队的网站推广方式。

小编教你非常适合网络营销团队的网站推广方式。

目前网络营销公司队伍日益壮大,小编总结出一些实用的和营销方法。网站推广和营销的最大优势是方式容易被复制。一旦最新方法可用,就可以立即将其复制到新。接下来,我将和大家分享一些我们团队经常使用的更有趣的网站营销推广方法。 IM群网站推广法,现在谁还不用QQ、现在谁还不用淘宝旺旺、现在谁还不用...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片