背景
最近公司有个动态修改APP桌面图标的需求,需要做一下技术调研,网上查了一下实现方案,然后参考网上的方案写了个实现demo,在这里记录一下。
题外话:由于图标切换都是本地配置的,产品问了一句:“图标能不能支持服务端动态下发?”,我想了一下回复他:“这是不可能的,设想一下,APP提交审核时候使用的是合规图片,过审之后,动态下发的时候突然下发了一张违规图片(比如:黄赌毒),应用市场怎么监管?所以这个是不可能的。”
废话少说,先上效果图
实现
1.新建项目,实现一个MainActivity,layout布局中添加四个按钮,其中三个为切换图标按钮,最后一个为恢复默认图标按钮
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B1"
android:layout_marginTop="100dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B2"
android:layout_mar