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: '已发送模拟通知' });}
这只是个简单测试能不能给手机发送消息,能不能引导打开通知页,能不能进行跳转的功能