l***@51huilife.com
l***@51huilife.com
  • 发布:2020-05-15 02:11
  • 更新:2022-11-03 17:43
  • 阅读:2075

【报Bug】uni-app使用plus实现安卓的常驻通知栏

分类:uni-app

产品分类: 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());  
}  

}

操作步骤:

这个代码打包后不生效

预期结果:

我想实现常驻的通知栏

实际结果:

无效

bug描述:

必须进行本地打包才能生效,云打包无效,请问,这个问题应该怎么解决?

2020-05-15 02:11 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

你解决了吗?

FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

1***@qq.com

1***@qq.com

大佬们解决了吗

要回复问题请先登录注册