更新记录
1.0.3(2025-10-17)
新增功能
- 无
问题修复
- 无
功能优化
- 优化输出的结果不同意的问题以及类型数据的问题
1.0.2(2025-08-15)
新增功能
- 无
问题修复
- 修复
打包是时提示‘IData’类型定义错误后导致无法打包的问题
功能优化
- 无
1.0.1(2025-06-18)
新增功能
- 无
问题修复
- 修复
使用 HBuilderX 导入示例项目、下载示例项目ZIP时无法使用的问题
功能优化
- 将方法改成 Promise 方式,返格式为 Promise
getSwitchList不再需要配置,程序自己动态解析 AndroidManifest.xml 获取
平台兼容性
uni-app(4.55)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | √ | 1.0.0 | √ | 1.0.0 | 5.0 | 1.0.0 | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.55)
| Chrome | Safari | Android | Android插件版本 | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|---|
| × | × | 5.0 | 1.0.0 | × | × | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
动态切换应用图标、名称(节假日、VIP用户、活动等场景的动态切换(ima-icons)
ima-icons 是一款动态切换应用图标、名称的UTS插件,支持切换应用图标、切换应用名称、切换应用图标和名称等功能,可实现节假日(元旦、春节)、VIP用户(vip、svip)、活动(6.18、双11、春节年货)等场景的动态切换应用图标、名称
⚙️配置
- 将
/uni_modules/ima-icons/utssdk/app-android/AndroidManifest.xml中<manifest>标签中的package属性改成你打包的Android包名 - 将你的图标放在目录
/uni_modules/ima-icons/utssdk/app-android/res/mipmap-xxhdpi下,然后在AndroidManifest.xml配置你的名称与图标
💎建议
- 切换图标(即启用 activity-alias)时,Android 系统的默认行为是:
重启整个 app 进程,以便 Launcher 更新图标和入口。 - 因此,
App 自动退出并重新启动(或不启动)是系统行为,无法完全避免,但我们可以做一些“静默处理”的优化,使切换尽量不打扰用户体验。 - 因某些品牌的手机内核或者是系统的问题,导致切换app时会退出应用,我们可以采用一些
用户体验优化手段【有些品牌手机不受影响】 - ✅ 方法一:切换图标后自动拉起 App(模拟“静默”)
- ✅ 方法二:切图标后提示“切换成功,稍后自动返回 App”,增强体验感知
- ✅ 方法三:将图标切换放在 App 空闲状态或退出后执行
⚠️注意️
android 端已全部完成代码的开发与测试(已完成)- 运行到基座时,只要是更改过代码后,代码‘正在同步手机端程序文件’时可能无法打开,需要手动去打开应用(正式发布不影响)
需要权限
- 无
使用示例【此示例的代码只实现了基础操作的逻辑,更多示例请导入项目】
- 新建一个
test.vue的文件
<template>
<view class="ima-test">
<view class="ima-test-item" @click="onSwitchList">可切换列表名称</view>
<view class="ima-test-item" @click="onSwitchIcons">切换 图标|名称</view>
<view class="ima-test-item" @click="onRestoreIcons">恢复默认</view>
</view>
</template>
<script>
import {getSwitchList, switchIcons, restoreIcons} from "@/uni_modules/ima-icons";
let _this = null
export default {
data() {
return {
switchList: []
}
},
methods: {
// 可切换列表名称
onSwitchList() {
getSwitchList()
.then((res: IReturn) => {
console.log('获取可切换列表名称 成功', res)
})
.catch((err: any) => {
console.error('获取可切换列表名称 失败', err)
})
},
// 切换 图标|名称
onSwitchIcons() {
const aliasName = _this.switchList(0) // 选择第一个切换方式
switchIcons(aliasName)
.then((res: IReturn) => {
console.log('切换 图标|名称 成功', res)
})
.catch((err: any) => {
console.error('切换 图标|名称 失败', err)
})
},
// 恢复默认
onRestoreIcons() {
restoreIcons()
.then((res: IReturn) => {
console.log('恢复默认(图标别名 + 名称) 成功', res)
})
.catch((err: any) => {
console.error('恢复默认(图标别名 + 名称) 失败', err)
})
}
}
}
</script>
<style lang="scss">
.ima-test {
}
</style>
方法
| 方法名称 | 说明 | 方法参数 | 平台 |
|---|---|---|---|
| getSwitchList | 返回可切换列表 | 无 | android |
| switchIcons | 切换图标(图标、名称、图标+名称) | aliasName: 可切换列表参数(数据来源getSwitchList中返回的) | android |
| restoreIcons | 恢复默认(默认的图标+名称) | 无 | android |
图标配置
- 将图标放在
uni_modules/ima-icons/utssdk/app-android/res/mipmap-xxhdpi中 - 建议图标格式:png
- 建议图标尺寸:最低不低于
144x144、最大不大于:512x512
切换配置
- 【必须】
android:name: 切换switchIcons方法中的aliasName参数(即切换的名称), - 【必须】
android:enabled: 设置值为false(不要为true,否则导致多图标)【固定值】 - 【必须】
android:exported: 设置值为true【固定值】 - 【按需】
android:icon: 图标参数,"@mipmap/xxxx"(其中的‘xxxx’为图标的名称,不带后缀) - 【按需】
android:roundIcon: 圆形图标(有则配置,无则不配)【和android:icon放在同一个目录】 - 【按需】
android:label: 应用名称(即app的名称) - 【必须】
android:targetActivity: 设置值为io.dcloud.PandoraEntry【固定值】
uni_modules/ima-icons/utssdk/app-android/AndroidManifest.xml中的配置
<activity-alias
android:name="MyIconAndLabel1"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/icon1"
android:roundIcon="@mipmap/icon1_round"
android:label="切换图标名称1"
android:targetActivity="io.dcloud.PandoraEntry">
<!-- 相同部分,去掉,具体请导入示例参看 -->
</activity-alias>
切换(图标 + 名称)配置
- 【必须配置】
android:icon - 【必须配置】
android:label - 【按需配置】
android:roundIcon(没有的话删除,不建议为空)
切换图标、不切换名称
- 【必须配置】
android:icon - ⚠️【不要配置】
android:label(删除掉) - 【按需配置】
android:roundIcon(没有的话删除,不建议为空)
切换名称、不切换图标
- ⚠️【不要配置】
android:icon(删除掉) - 【必须配置】
android:label - 【按需配置】
android:roundIcon(没有的话删除,不建议为空)

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(1)
下载 279
赞赏 1
下载 11546782
赞赏 1813
赞赏
京公网安备:11010802035340号