Android 8.0实现发送通知的方法

发布时间:2020-07-30 09:34:40

来源:亿速云

阅读:111

作者:小猪

这篇文章主要讲解了Android 8.0实现发送通知的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

在Android8.0以后,针对Notification 通知api做了修改,新增了通知渠道(NotificationCannel)。下面就把demo的详细代码记录下:

1.Application 为NotificationManager添加通知频道

import android.app.Application;

import com.xinrui.ndkapp.notification.NotificationChannels;

public class NdkApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

NotificationChannels.createAllNotificationChannels(this);

}

}

2.NotificationChannels 类

public class NotificationChannels {

public final static String CRITICAL = "critical";

public final static String IMPORTANCE = "importance";

public final static String DEFAULT = "default";

public final static String LOW = "low";

public final static String MEDIA = "media";

public static void createAllNotificationChannels(Context context) {

NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

if(nm == null) {

return;

}

NotificationChannel mediaChannel = new NotificationChannel(

MEDIA,

context.getString(R.string.app_name),

NotificationManager.IMPORTANCE_DEFAULT);

mediaChannel.setSound(null,null);

mediaChannel.setVibrationPattern(null);

nm.createNotificationChannels(Arrays.asList(

new NotificationChannel(

CRITICAL,

context.getString(R.string.app_name),

NotificationManager.IMPORTANCE_HIGH),

new NotificationChannel(

IMPORTANCE,

context.getString(R.string.app_name),

NotificationManager.IMPORTANCE_DEFAULT),

new NotificationChannel(

DEFAULT,

context.getString(R.string.app_name),

NotificationManager.IMPORTANCE_LOW),

new NotificationChannel(

LOW,

context.getString(R.string.app_name),

NotificationManager.IMPORTANCE_MIN),

//custom notification channel

mediaChannel

));

}

}

3.发送通知

public void sendSimpleNotification(Context context, NotificationManager nm) {

//创建点击通知时发送的广播

Intent intent = new Intent(context, NotificationMonitorService.class);

intent.setAction("android.service.notification.NotificationListenerService");

PendingIntent pi = PendingIntent.getService(context,0,intent,0);

//创建删除通知时发送的广播

Intent deleteIntent = new Intent(context,NotificationMonitorService.class);

deleteIntent.setAction(Intent.ACTION_DELETE);

PendingIntent deletePendingIntent = PendingIntent.getService(context,0,deleteIntent,0);

//创建通知

Notification.Builder nb = new Notification.Builder(context, NotificationChannels.DEFAULT)

//设置通知左侧的小图标

.setSmallIcon(R.drawable.ic_notification)

//设置通知标题

.setContentTitle("Simple notification")

//设置通知内容

.setContentText("Demo for simple notification!")

//设置点击通知后自动删除通知

.setAutoCancel(true)

//设置显示通知时间

.setShowWhen(true)

//设置通知右侧的大图标

.setLargeIcon(BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_notifiation_big))

//设置点击通知时的响应事件

.setContentIntent(pi)

//设置删除通知时的响应事件

.setDeleteIntent(deletePendingIntent);

//发送通知

nm.notify(Notificaitons.NOTIFICATION_SAMPLE,nb.build());

}

看完上述内容,是不是对Android 8.0实现发送通知的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

android辅助功能实现群发,Android 8.0实现发送通知的方法相关推荐

  1. android 辅助功能 翻页,Android利用悬浮按钮实现翻页效果

    今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子. 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.LayoutParams.那么在An ...

  2. Android中实现APP文本内容的分享发送与接收方法简述

    谨记(指定选择器Intent.createChooser()) 开始今天的内容前,先闲聊一下: (1)突然有一天头脑风暴,对很多问题有了新的看法和见解,迫不及待的想要分享给大家,文档已经写好了,我需要 ...

  3. Android中的Service模板,通过Service发送通知并修改通知的提示音

    Sercvice作为android中的四大组件之一,主要用来执行后台耗时任务,比如上传大文件.轮询服务器消息.间断向服务器发送数据.应用处于后台运行时向用户推送通知等等,使用场景多样,但是Servic ...

  4. 详解android高仿微信后台接受消息,发送通知,监测网络连接

    公司让我研究websocket,利用这个时间写了个仿微信的demo. 服务器端功能比较简单:转发给所有的client (类似与群聊) android端功能:service后台接受消息:broadcas ...

  5. android 开发微信群发,Android 记录一次开发微信分享功能的吐槽与思考

    在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /** * 微信分享:分享网页 * @param context * ...

  6. android 辅助功能 翻页,Android RecyclerView自动翻页方案

    其实已经有很多上拉加载更多.或者滑动到底自动加载的自定义RecyclerView,这里所使用的方案是通用于RecyclerView的,目的就是为了提高代码复用 通常在app的列表中会使用分页加载数据, ...

  7. Android — 在服务中发送通知Notification

    1.在服务中,发送通知的方法 private void sendNotification(String title,String content,StateBean stateBean){Contex ...

  8. Android内容提供者(群发短信)

    工程目录: Manifests添加读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&quo ...

  9. 使用Android辅助功能AccessibilityService实现微信自动聊天【外挂插件】

    本文是使用Android辅助功能AccessibilityService实现微信自动聊天demo: 只是为了跟深入的了解Android辅助功能, 提高自身的动手能力. 请勿用于商用,或非法用途. 动手 ...

最新文章

  1. 捅破砂锅!这位在AI医疗埋头多年的创业者,说出了这些行业真相
  2. ActiveReports 报表应用教程 (14)---数据可视化
  3. 请选择JAVA中有效的标识_Java中有效的标识符是什么?
  4. 数据结构Java04【树结构概述、创建、遍历、查找节点、删除节点】
  5. 深度学习pytorch--softmax回归(二)
  6. 疯了!程序员崩溃的40个瞬间!!!
  7. oracle存储过程捕捉异常后回滚_Oracle存储过程中异常处理应注意的问题
  8. Hudson:一款持续构建工具
  9. rtsp连接断开_海康RTSP客户端连接分析
  10. 二手华为p40手机现在多少钱
  11. 图灵机的逻辑等价形式——lambda演算简介
  12. 出海季,互联网出海锦囊之本地化
  13. python3收邮件_认真对待 Python3 收邮件
  14. UUCP系列程序简介
  15. 期货公司最低标准的手续费和保证金
  16. Vue源码之用户watcher
  17. v-model的实现原理
  18. 天猫双11背后的阿里技术
  19. css日积月累系列---简易的flex布局使用sass和less 封装版
  20. 前端调用麦克风获取实时音频流和录音并上传至后台

热门文章

  1. python编程题计算矩阵对角线_Python练习题 028:求3*3矩阵对角线数字之和
  2. python将Unix时间戳转换成时间
  3. ❤️震惊!人生苦短,我用python来玩田忌赛马❤️
  4. 笔记41 Spring Web Flow——Demo
  5. web前端到底是什么?有前途吗
  6. stanford-parser for C#
  7. zendstudio快捷键收录
  8. android屏幕基础知识
  9. 《大道至简》第二篇读后感
  10. Dijkstra算法(c++版)