- 发布:2020-05-15 02:11
- 更新:2022-11-03 17:43
- 阅读:2325
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 2019
HBuilderX类型: 正式
HBuilderX版本号: 2.6.16
手机系统: 全部
手机厂商: 华为
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
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());
}
}
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());
}
}
操作步骤:
这个代码打包后不生效
这个代码打包后不生效
预期结果:
我想实现常驻的通知栏
我想实现常驻的通知栏
实际结果:
无效
无效
bug描述:
必须进行本地打包才能生效,云打包无效,请问,这个问题应该怎么解决?
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
常驻通知栏、进度条通知栏(andorid):https://ext.dcloud.net.cn/plugin?id=9659
[已删除]
你解决了嘛
2022-05-26 10:58