更新记录
1.0.9(2025-04-09)
优化
1.0.8(2025-04-02)
- 优化兼容性
1.0.7(2025-02-26)
- 优化Android
平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | - | - | - | - | 4.4 | 12 | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | - | × | × | × | × |
uni-app x
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | 5.0 | 12 | - | × |
动态切换桌面icon图标,支持vue2/vue3,ios/android
- 动态切换app的桌面icon图标,实现类似双十一、过年时app桌面图标自动变化的效果
相关插件推荐
- app、H5、短信启动拉起唤醒其他app、添加桌面快捷方式https://ext.dcloud.net.cn/plugin?id=17817
- 自定义锁屏界面,类似QQ音乐在锁屏时动态刷新歌词封面的效果https://ext.dcloud.net.cn/plugin?id=17729
- 动态切换桌面icon图标实现类似双十一、过年时app桌面图标自动变化的效果支持vue2vue3https://ext.dcloud.net.cn/plugin?id=18062
- 长按桌面图标快捷菜单入口shortcut3dtouchhttps://ext.dcloud.net.cn/plugin?id=10475
集成步骤
-
配置项目
- 下载demo示例,将demo里的nativeResources文件、AndroidManifest.xml、Info.plist文件拷贝到自己的项目里(如果已经存在此文件或文件夹请合并内容,合并内容可咨询作者)
- 替换nativeResources下iOS和Android的图标文件,文件名称不能修改,只替换图片
- 删除本地基座和手机app,重新自定义基座,使用自定义基座运行
-
当前仅支持3个图标切换,如需支持更多图片切换,请联系作者定制
接口文档
import {
UTSReplaceAppIcon,
UTSSupportsAlternateIcons,
UTSResetAppIcon,
UTSGetCurrentAppIconName
} from "@/uni_modules/wrs-uts-replaceappicon"
data() {
var isAndroid = true
switch (uni.getSystemInfoSync().platform) {
// android
case 'android':
isAndroid = true
break;
// ios
default:
isAndroid = false
break;
}
return {
isAndroid: isAndroid,
title: 'Hello',
names: ["com.wrs.wrsicon1", "com.wrs.wrsicon2", "com.wrs.wrsicon3"],
msg: null
}
},
- 替换桌面图标icon
- 有些Android机型切换桌面图片后app会自动切换到后台,所以一般Android里在app后台运行时或关闭app时再切换icon
- ios替换桌面图标时,会弹出系统提示框,为了不弹出这个提示框,请同时集成插件https://ext.dcloud.net.cn/plugin?name=wrs-uts-replaceappicon-noalert
var params = {};
params.iconName = "wrsicon1" // manifest.json里配置的CFBundleAlternateIcons节点下的名称
if (this.isAndroid) {
params.iconName = "com.wrs.wrsicon1" // AndroidManifest.xml里要显示的activity-alias名称
params.names = this.names // AndroidManifest.xml,所有的activity-alias名称
}
params.restartSystemLauncher = true; // 是否重启launch,仅支持Android,有些机型需要重启launch才能生效
UTSReplaceAppIcon(params, (resp) => {
this.showMsg(JSON.stringify(resp))
});
- 重置为app原本的icon
var params = {};
if (this.isAndroid) {
params.names = this.names
}
UTSResetAppIcon(params, (resp)=>{
})
- 判断是否支持修改桌面icon,仅支持iOS
let support = UTSSupportsAlternateIcons()
if (support) {
this.showMsg("当前机型支持修改icon")
} else {
this.showMsg("当前机型不支持修改icon")
}