Android之动态更换桌面图标

本文探讨了Android应用如何在不更新的情况下动态更换桌面图标。通过利用activity组件、activity-alias以及PackageManager类,可以实现图标切换。在PackageManager中管理组件的启用和禁用状态,结合XML定义的多个启动组件,可以实现在运行时更新APP的桌面图标。
摘要由CSDN通过智能技术生成

Android之动态更换桌面图标

文章链接:http://blog.csdn.net/qq_16628781/article/details/69054325

知识点

  1. 动态更换APP 桌面icon的引述;
  2. activity组件及定义“同盟”组件activity-alias;
  3. PackageManager类进行启用/禁用组件;
  4. PackageInfo的简介;
  5. 新名词记录{PackageInfo:Androidmanifest.xml文件描述类}

概述

APP,在中国电商行业中,某宝和某东是行业的标杆。其中有一点挺让人好奇的,那就是在双十一临近之时,他们的APP桌面图标突然变成了带有双十一字样的图标。但是明明记得那段时间并没有更新过,那么唯一的可能就是本来就内置了双十一的图标,等快到双十一的时候在动态更换,然后过了双十一那段时间,又将APP的桌面图标变成普通的icon。

既然图标本来就在APP里头(或者是网络下载下来的,只是猜测,有知道的小伙伴可以给我留言),那么就很好奇了,它们的图标到底是怎么样进行动态的更换的呢?


探索1

对于Android来说,所有的activity都是一个组件,我们可以对每个组件进行管理。
关于程序的入口,我们知道android.intent.action.MAIN进行的指定的。


<activity
            android:name=".HomeActivity"
            android:label="@string/app_name"
            android:theme="@style/AppThemeToolbar">
            <intent-filter>
                //指定应用程序最先启动的Activity
                <action android:name="android.intent.action.MAIN" />

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

对于android.intent.category.LAUNCHER,这个又是设置什么的呢?这个是决定应用程序是否显示在程序列表里头。

另外,还有一个activity-alias属性,这个属性可以用于创建多个不同的入口。用法如下所示:

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值