专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:42:29       共计:3605 浏览
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

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:HBuilder中用JS发送Android广播 | ·下一条:BootstrapFileInput 图片上传插件 详解

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有