当前位置: 首页 > news >正文

uniapp写app做测试手机通知栏展示内容

uniapp写app做测试手机通知栏展示内容

以下代码:只是个简单测试能不能给手机发送消息,能不能引导打开通知权限,能不能进行跳转的功能,

增加  notify.js   以下文件


// 模拟本地通知功能
export function showNotification() {// 1. 检查通知权限(Android)// #ifdef APP-PLUSif (plus.os.name === "Android") {const main = plus.android.runtimeMainActivity();const NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");// 获取主Activity和包名// const main = plus.android.runtimeMainActivity();const pkName = main.getPackageName();// 检测权限状态const isEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();if (!isEnabled) {uni.showModal({title: "通知权限未开启",content: "请前往设置开启通知权限",confirmText: "去设置",success: () => {try {const Intent = plus.android.importClass("android.content.Intent");const Build = plus.android.importClass("android.os.Build");let intent = new Intent();if (Build.VERSION.SDK_INT >= 26) { // Android 8.0+intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");intent.putExtra("android.provider.extra.APP_PACKAGE", pkName);} else { // 低版本通用方案const Settings = plus.android.importClass("android.provider.Settings");const Uri = plus.android.importClass("android.net.Uri");intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);intent.setData(Uri.fromParts("package", pkName, null));}main.startActivity(intent);} catch (e) {uni.showToast({ title: "跳转失败", icon: "none" });console.error(e);}}});}}// #endif// 2. 发送通知(固定内容)plus.push.createMessage("这是固定通知内容", // 通知正文(死值)"系统通知",         // 通知标题(死值){cover: true,      // 覆盖旧通知sound: "system",   // 使用系统提示音payload: { path: "/pages/profile/index" }  // 携带跳转路径参数});
}

增加点击事件  随便个地儿

<button @click="triggerNotify">触发模拟通知</button>import { showNotification } from './notify.js';const triggerNotify =()=> {showNotification();uni.showToast({ title: '已发送模拟通知' });}

这只是个简单测试能不能给手机发送消息,能不能引导打开通知页,能不能进行跳转的功能

http://www.lryc.cn/news/598061.html

相关文章:

  • AI结对编程:分布式团队的集体记忆外脑
  • TechGPT3部署
  • 初识opencv03——图像预处理2
  • 中国西北典型绿洲区土壤水分特征(2018-2019年)
  • 前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)
  • LeetCode 1695.删除子数组的最大得分:滑动窗口(哈希表)
  • 智慧工厂网络升级:新型 SD-WAN 技术架构与应用解析
  • 【Git知识】Git 常用知识集合之基础--分支系统与 Tag 标签机制
  • Leetcode 07 java
  • CodeBuddy IDE发布:编程新时代的颠覆者?
  • Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项
  • 安全逆向工程学习路线
  • Java学习第七十一部分——Dubbo
  • RCLAMP0512TQTCT 升特半导体 TVS二极管 12通道全防护芯片 以太网/PLC控制/5G基站专用
  • 数学基础弱能学好大数据技术吗?
  • 仓库解读 - OpenExo
  • 滑动窗口-5
  • 企业安全基石:解锁等保测评的战略价值
  • TRUMPF TruConvert DC 1008 – 1010 TruConvert System Control 逆变器
  • 【图像理解进阶】如何进行小目标物体的检测?
  • 快乐社兑换码怎么获得,免排队,
  • LLM中典型的Transformer层中:MLP Residual; LN Agg: μ, σ; SM Agg 是什么意思
  • 模拟退火算法对Rastrigin函数的优化
  • 【第五节】列表渲染
  • Flink-1.19.0源码详解8-ExecutionGraph生成-前篇
  • 【图论】倍增与lca
  • 网络编程——聊天程序实现
  • 嵌入式通信知识串讲:从同步 / 异步传输到 UART 协议 STM32F103 硬件解析
  • 换热站可视化:藏在数字里的城市温暖密码
  • 【jupyter 使用多进程方案】