发布:2020/11/18 14:25:09作者:管理员 来源:本站 浏览次数:2895
function njsNotificationForAndroid({
title = '标题',
content = '描述',
isOngoing = true
}){
if (uni.getSystemInfoSync().platform == "android") {
console.log('准备调起常驻通知栏');
const main = plus.android.runtimeMainActivity();
const Context = plus.android.importClass('android.content.Context');
const Notification = plus.android.importClass('android.app.Notification');
const mNotification = new Notification.Builder(main);
const Intent = plus.android.importClass('android.content.Intent');
const PendingIntent = plus.android.importClass('android.app.PendingIntent');
const android_R = plus.android.importClass('android.R'); // android.R:使用系统默认图标,可以把android改成实际项目的包名,则会使用项目的图标
if (isOngoing) mNotification.setOngoing(true); // 这个如果被注释掉,则允许滑动删除
mNotification.setContentTitle(title);
mNotification.setContentText(content);
mNotification.setSmallIcon(android_R.drawable.ic_notification_overlay); // 需要在原生项目的drawable目录下添加ic_notification_overlay.png
mNotification.setTicker(content); // 无障碍
mNotification.setContentIntent(PendingIntent.getActivity(main, 0, new Intent(main, main.getClass()),
PendingIntent.FLAG_CANCEL_CURRENT));
main.getSystemService(Context.NOTIFICATION_SERVICE).notify(1, mNotification.build());
}
}
注意事项:必须进行本地打包才能生效,云打包无效,不知道官方什么时候才修复这个问题。目前使用的HBuilderX版本为2.5.1.20200103
。