我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 移动应用开发 使用Notification通知 及NotificationChannel的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 移动应用开发 使用Notification通知 及NotificationChannel的使用

首先需要一个NotificationManager对象来对通知进行管理。代码如下
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

2.使用一个Builder构造器来创建一个Notification对象

Notification notification = new NotificationCompat.Builder(content).build();

3.当然,上面的代码只是创建了一个空的Notification对象,我们可以在.build()前面添加多个设置方法来对Notification进行设置

Notification notification = new NotificationCompat.Builder(MainActivity.this)
        .setContentTitle("牛皮哄哄")  //设置通知标题
        .setContentText("精神小伙")   //设置通知内容
        .setWhen(System.currentTimeMillis()) //指定通知被创建的时间
        .setSmallIcon(R.mipmap.ic_launcher)  //使用小图标
        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)) //使用大图片
        .build();

4.以上的工作完成之后只需要调用NotificationManager的notify()方法就可以让通知显示出来了

activity_main.xml代码如下


    

可以看到我们在布局文件中添加了一个按钮,用于发送一条通知

MainActivity代码如下所示

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);//获取点击按钮
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
                //获取NotificationManager实例
                Notification notification = new NotificationCompat.Builder(MainActivity.this)
                        .setContentTitle("牛皮哄哄")//通知标题
                        .setContentText("精神小伙") //通知内容
                        .setWhen(System.currentTimeMillis()) //指定通知被创建的时间
                        .setSmallIcon(R.mipmap.ic_launcher)//使用小图标
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))//使用大图片
                        .build();
                manager.notify(1,notification);
            }
        });
    }
}

现在已经完成了通知的创建工作,现在开始点击运行一下,你会惊奇的发现压根就没有效果!!!! 这时百度过后才发现Android8.0以上的的通知要设置渠道,否则就无法显示。修改好的代码如下

public class MainActivity extends AppCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);//获取点击按钮
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);//获取NotificationManager实例
                NotificationCompat.Builder builder;//创建通知对象
                if (Build.VERSION.SDK_INT >= 26) {//判断Android的版本
                    NotificationChannel channel = new NotificationChannel(String.valueOf(1), "name",
                            NotificationManager.IMPORTANCE_HIGH);  //当Android版本大于等于8时,创建通知渠道(Notification Channels)
                    manager.createNotificationChannel(channel);
                    builder = new NotificationCompat.Builder(MainActivity.this,String.valueOf(1));//获取
                }else {
                    builder = new NotificationCompat.Builder(MainActivity.this);//当版本低于8时使用
                }
                        builder.setContentTitle("牛皮哄哄")//通知标题
                        .setContentText("精神小伙") //通知内容
                        .setWhen(System.currentTimeMillis()) //指定通知被创建的时间
                        .setSmallIcon(R.mipmap.ic_launcher) //使用小图标
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)); //使用大图片
                Notification notification = builder.build();
                manager.notify(1,notification);
            }
        });
    }
}

在上面的代码中加了if语句,这时就能适应所有的Android版本了。

阿~呆 原创文章 5获赞 16访问量 225 关注 私信 展开阅读全文
作者:阿~呆


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 移动应用开发 使用Notification通知 及NotificationChannel的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 移动应用开发 使用Notification通知 及NotificationChannel的使用

首先需要一个NotificationManager对象来对通知进行管理。代码如下 NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATIO
2022-06-06

Android中通知Notification的使用方法

每个使用Android手机的人应该对Android中的通知不陌生,下面我们就学习一下怎么使用Android中的通知。一、通知的基本用法 活动、广播接收器和服务中都可以创建通知,由于我们一般在程序进入后台后才使用通知,所以真实场景中,一般很少
2022-06-06

Android中通知Notification使用实例(振动、灯光、声音)

本文实例讲解了通知Notification使用方法,此知识点就是用作通知的显示,包括振动、灯光、声音等效果,分享给大家供大家参考,具体内容如下 效果图:MainActivity:import java.io.File; import an
2022-06-06

Android中使用Notification实现状态栏的通知

在使用手机时,当有未接来电或者新短消息时,手机会给出响应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。 Android也提供了用于处理这些信息的类,它们是Notification和NotificationManager。其中,No
2022-06-06

Android使用Notification,通知无法显示的问题

今天看着《第一行代码》,准备实现一下书中所说的notification通知功能。非常简单的代码如下所示 @Override public void onClick(View v) {switch(v.getId()){case R.id.s
2022-06-06

怎么使用SAP云平台的Notification服务给Android应用推送通知消息

今天就跟大家聊聊有关怎么使用SAP云平台的Notification服务给Android应用推送通知消息,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。登录SAP Cloud Platf
2023-06-03

Android移动应用开发学习笔记(listview和适配器的使用)

参考:https://www.bilibili.com/video/BV1fs411h7nF 视频做的笔记 文章目录1、用listview和BaseAdapter实现listView的入门1.1、布局文件1.2、MainActivity类2
2022-06-06

Android种使用Notification实现通知管理以及自定义通知栏实例(示例四)

示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的。例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来短信的数目,而不
2022-06-06

Android移动应用开发的布局有哪几种

Android移动应用开发中常用的布局有以下几种:1. 线性布局(LinearLayout):按照水平或垂直方向依次排列子视图。2. 相对布局(RelativeLayout):通过设置子视图之间的相对位置关系来布局。3. 帧布局(Frame
2023-08-18

详解Android应用开发中Intent的作用及使用方法

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,
2022-06-06

如何使用SAP云平台Mobile Service开发移动应用

本篇文章给大家分享的是有关如何使用SAP云平台Mobile Service开发移动应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天要介绍的是SAP推出的另一种移动应用开发
2023-06-03

如何使用Go语言和Redis开发移动应用后端

如何使用Go语言和Redis开发移动应用后端移动应用的后端开发是移动应用开发过程中至关重要的一部分。在这个过程中,使用可靠的技术和工具可以极大地提高开发效率和性能。本文将介绍如何使用Go语言和Redis作为后端技术来开发移动应用的后端,同时
2023-10-27

使用C++移动应用程序开发的成功案例与技巧

c++++凭借其性能优势,广泛应用于移动应用开发。成功案例包括instagram、whatsapp和skype。打造成功的c++移动应用需遵循技巧:使用跨平台框架,如qt或juce。优化性能,利用c++细粒度内存管理和多线程控制。采用良好的
使用C++移动应用程序开发的成功案例与技巧
2024-05-10

如何使用低代码开发工具构建高效的移动应用

随着移动应用市场的不断扩大,企业对移动应用的需求也越来越高。然而,开发一款高质量的移动应用需要大量的时间和资源,对于许多企业来说,这是一个巨大的挑战。这时候,低代码开发工具就应运而生了。低代码开发工具可以帮助企业以更低的成本、更快的速度开发出高质量的移动应用,从而提高企业的竞争力。本篇文章将详细介绍如何使用低代码
如何使用低代码开发工具构建高效的移动应用
2023-12-17

Android开发之使用通知栏显示提醒信息的方法

本文实例讲述了Android开发之使用通知栏显示提醒信息的方法。分享给大家供大家参考,具体如下: 用通知栏来提醒public void notifyKJ() {//获得通知管理器,通知是一项系统服务NotificationManager m
2022-06-06

android应用开发之spinner控件的简单使用

Android的控件有很多种,其中就有一个Spinner的控件,这个控件其实就是一个下拉显示列表。Spinner是位于 android.widget包下的,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中
2022-06-06

Android应用开发中CardView的初步使用指南

引言 在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改变,很炫很给力!同时,Google也给出了两个可以向下兼容的控件放到了V7包中,分别是RecyclerView和C
2022-06-06

Android开发中如何使用Intent打开第三方应用及验证可用性

小编给大家分享一下Android开发中如何使用Intent打开第三方应用及验证可用性,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:Android中提供了Intent机制来协助应用间的交互与通讯。可作为不同组件之间
2023-05-30

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录