【uniapp】uniapp的安卓apk图标角标设置消息数量

1、主要方法:

设置角标:

plus.runtime.setBadgeNumber(999)

清除角标:

//plus.runtime.setBadgeNumber(0)//没有效果

plus.runtime.setBadgeNumber(-1) //有效果

2、使用在具体的生命周期

1、打开app获取角标数量

2、关闭app获取角标数量

3、非登入和退出登入获取角标数量

在App.vue中:

html 复制代码
<script>
	export default {
		onLaunch: function() {
			console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
			console.log('App Launch')
			// #ifdef APP-PLUS
			// #endif 
		},
		onShow: function() {
			console.log('App Show')
			// #ifdef APP-PLUS
				this.getList();
			// #endif 
		},
		onHide: function() {
			console.log('App Hide')
			// #ifdef APP-PLUS
				this.getList();
			// #endif 
		},
		methods:{
			getList() {
				const token = uni.getStorageSync('token') || false
				//是否在登入状态(看自己代码检测登入状态的判断方式)
				if (uni.getStorageSync('token') && token) {
					let Info = uni.getStorageSync('userInfo')
					let obj = {
						noticeUser: Info.userId,
					}
					//获取当前账号接收的未读消息数量(角标要展示的数量)
					this.request({
						url: '/message/listCount',
						method: 'get',
						params: obj
					}).then(res => {
						this.list = res.data
						let num = 0
						res.data.forEach(item => {
							num += item.num
						})
						if(num>0){
							this.setBadge(num)
						}else{
							this.clearBadge()
						}
					}).catch(error => {
						this.clearBadge()
						console.log('失败', error);
					})
				}else{
				   //未登入状态清空
					this.clearBadge()
				}
			},
			//设置角标
			setBadge(num){
				plus.runtime.setBadgeNumber(num)
			},
			//清除角标
			clearBadge(){
				plus.runtime.setBadgeNumber(-1)
			}
			
		}
	}
</script>
<style>
	.container {
		width: 100vw;
		height: 86.5vh;
	}
</style>

3、注意事项

1、记得加上一下内容,限制在app中生效,不然在网页测试会plus报错

html 复制代码
// #ifdef APP-PLUS
// #endif 

2、打包发布后根据提示去uniapp官网按流程处理相关配置就行

3、非外网使用1.0版本就行

4、清除角标plus.runtime.setBadgeNumber(0)不生效,因此我采用了传-1

相关推荐
夏沫琅琊18 分钟前
Android拨打电话技术文档
android·kotlin
a2591748032-随心所记22 分钟前
android studio gradle快速编译配置
android·android studio
代码不加糖32 分钟前
0基础搭建前后端分离项目:实现菜单与界面左右布局
java·前端·javascript·mysql·elementui·mybatis
一块小土坷垃1 小时前
# 《电影猎手》观影伴侣:一款支持iOS/安卓/电视盒子的全平台影视工具“电影猎手”(附自用评价)
android·ios·电视盒子
zhensherlock1 小时前
Protocol Launcher 系列:Tally 快速计数器的深度集成
前端·javascript·typescript·node.js·自动化·github·js
AC赳赳老秦1 小时前
OpenClaw权限管理实操:团队共享Agent,设置操作权限,保障数据安全
服务器·开发语言·前端·javascript·excel·deepseek·openclaw
光影少年1 小时前
Polyline 组件如何绘制渐变区域?
前端·javascript·掘金·金石计划
普通网友1 小时前
JavaScript:ESLint+Prettier 规范代码格式
开发语言·javascript·ecmascript
jiayong232 小时前
第 38 课:任务列表里高亮当前正在查看详情的任务
开发语言·前端·javascript·vue.js·学习
兔子零10242 小时前
GPT-5.5 与 DeepSeek-V4:大模型竞争的本质,正在从“谁更强”变成“谁让成本更低”
前端·javascript·后端