Android动态修改应用图标和名称(1)

显示多个启动入口

然后这里我先做一个多个启动入口全部显示的app示例,这里需要写的代码都在清单文件中,代码如下:

<?xml version="1.0" encoding="utf-8"?>







运行后的效果如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到桌面上显示了三个图标,进入的都是MainActivity这个页面,图标我用的自动生成的,就懒的去找图标了,效果上能看出来就行。

当然了,实际项目中我们只会显示一个图标,这里我们只需要把"别名1"和"别名2"的android:enabled="true"改为"false"就行了,这样就只显示一个图标了,就不放效果图了。

代码控制切换不同的应用图标显示

马上春节了,我们产品说到哪个时间点我们的应用图标就要换成春节用的图标了,当然,前面说了这些图标要先在应用写好,不是通过服务器动态拿的,而是应用内已经写好的。那这个时候我们就需要通过代码进行应用图标的动态切换了,这里我给出Demo里面布局如图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里三个按钮点击后切换到相应的应用图标和名称,"原ACTIVITY"代表只显示MainActivity这个原来的启动入口,"ALIAS_1"代表别名1,以此类推。

这三个按钮点击对应的代码如下:

/**

  • 设置Activity为启动入口
  • @param view
    */
    public void setActivity(View view) {
    PackageManager packageManager = getPackageManager();
    packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
    “.NewActivity1”), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
    .DONT_KILL_APP);
    packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
    “.NewActivity2”), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager
    .DONT_KILL_APP);
    packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
    “.MainActivity”), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager
    .DONT_KILL_APP);
    }

/**

  • 设置别名1为启动入口
  • @param view
    /
    public void setAlias1(View view) {
    PackageManager packageManager = getPac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值