uniapp写app做测试手机通知栏展示内容
以下代码:只是个简单测试能不能给手机发送消息,能不能引导打开通知权限,能不能进行跳转的功能,
增加 notify.js 以下文件
// 模拟本地通知功能
export function showNotification() {
// 1. 检查通知权限(Android)
// #ifdef APP-PLUS
if (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: '已发送模拟通知' });
}
这只是个简单测试能不能给手机发送消息,能不能引导打开通知页,能不能进行跳转的功能