Android Notification通知解析

Notification是显示在手机状态栏的通知,Notification通知是具有全局性的通知,一般通过NotificationManager来进行管理.
一般运用Notification的步骤如下:

1.调用getSysytemService(NOTIFICATION_SERVICE)来获取系统的NotificationManager,进行Notification的发送和回收

2.通过构造器建立一个Notification

3.为Notification set各种属性,然后builder()建立

4.通过NotificationManager发送通知

下面通过一个实例来演示上面的用法,先看一张效果图

一.获取系统的NotificationManager

private NotificationManager nm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取系统的通知管理 nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); }

二.为主布局的两个按钮添加监听事件,然后分别设置启动通知,并设置各种属性和取消通知
各种属性代码中介绍的很详细,具体可以参考API

启动通知

public void send(View view){ //用于打开通知启动另一个Activity Intent intent = new Intent(MainActivity.this,OtherActivity.class); //用于延迟启动 PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent, 0); //设置通知 Notification notify = new Notification.Builder(this) //设置打开该通知,通知自动消失 .setAutoCancel(true) //设置显示在状态栏的通知提示消息 .setTicker("新消息") //设置通知栏图标 .setSmallIcon(R.mipmap.ic_launcher) //设置通知内容的标题 .setContentTitle("一条新通知") //设置通知内容 .setContentText("恭喜你通知栏测试成功") //设置使用系统默认的声音,默认的led灯 .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS) //ALL的话则是全部使用默认,声音,震动,闪光灯,需要添加相应权限 // .setDefaults(ALL) //或者自定义声音 //setSound(Uri.parse()) //设置要启动的程序 .setContentIntent(pi) //最后用build来建立通知 .build(); //发送当前通知,通过NotificationManager来管理 nm.notify(1,notify); }

这里用的OtherActivity是通过通知启动的另一个Activity,为了启动需要在清单文件中加入此Activity,并且因为用到了闪光灯和振动器,所以也需要添加相应的权限

<activity android:name=".OtherActivity"> </activity> <uses-permission android:name="android.permission.FLASHLIGHT"/> <uses-permission android:name="android.permission.VIBRATE"/>

取消通知

//取消通知 public void closed(View view){ nm.cancel(1); }

用起来相当很方便.最后附上主界面布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:orientation="horizontal" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开启通知" android:onClick="send" android:id="@+id/btnstartnotification" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关闭通知" android:onClick="closed" android:id="@+id/btnstopnotification" /> </LinearLayout>

以上就是关于Android Notification通知的详细内容,希望对大家的学习有所帮助。

时间: 2025-01-28 06:58:08

Android Notification通知解析的相关文章

Android Notification通知解析_Android

Notification是显示在手机状态栏的通知,Notification通知是具有全局性的通知,一般通过NotificationManager来进行管理. 一般运用Notification的步骤如下: 1.调用getSysytemService(NOTIFICATION_SERVICE)来获取系统的NotificationManager,进行Notification的发送和回收 2.通过构造器建立一个Notification 3.为Notification set各种属性,然后builder(

Android Notification.Builder通知案例分享

随着Android系统的不断升级,相关Notification的用法有很多种,有的方法可能已经被android抛弃了,下面为大家分享一下个人如何实现Android Notification通知小案例源代码,供大家参考. Android Notification.Builder通知小案例,具体代码示例如下: package com.example.day6ke; import android.app.Notification; import android.app.NotificationMana

Android Notification详解

Android Notification通知详细介绍 目录介绍 1.Notification简单概述 2.Notification通知用途 3.Notification的基本操作 3.1 Notification创建必要的属性 3.2 Notification简单创建步骤 3.3 关于setSmallIcon()与setLargeIcon()区别 3.4 Notification的Action属性[交互作用] 3.5 更新Notification 3.6 取消Notification 3.7 设

Android开发入门(四)发送通知 4.2 Notification通知

到目前为止,想必大家已经都熟悉使用Toast去给用户显示信息了.尽管使用Toast很方便,但是Toast显 示的通知并不是永久存储的.它只在屏幕上显示一小段时间,然后就消失了.如果它包含一些特别重要的信 息,如果用户没有观察屏幕,那么用户就很容易错过它. 对于那些重要的信息,应该采用一种更加持 久保存的方法.在这种情况下,应该使用NotificationMnanger(消息管理器)去显示一个长久的信息,这个 消息被显示在了StatusBar(状态栏)上面,使用用户能够很容易地看见. 接下来展示如

Android开发之Notification通知用法详解_Android

本文实例讲述了Android开发之Notification通知用法.分享给大家供大家参考,具体如下: 根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉.或者,只要程序在运行就一直显示通知栏图标. 下面对Notification类中的一些常量,字段,方法简单介绍一下: 常量: DEFAULT_ALL 使用所

详解Android中Notification通知提醒_Android

在消息通知时,我们经常用到两个组件Toast和Notification.特别是重要的和需要长时间显示的信息,用Notification就最 合适不过了.当有消息通知时,状态栏会显示通知的图标和文字,通过下拉状态栏,就可以看到通知信息了,Android这一创新性的UI组件赢得了用户的一 致好评,就连苹果也开始模仿了.今天我们就结合实例,探讨一下Notification具体的使用方法.  首先说明一下我们需要实现的功能是:在程序启动时,发出一个通知,这个通知在软件运行过程中一直存在,相当于qq的托盘

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

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

Android中通知Notification的使用方法_Android

每个使用Android手机的人应该对Android中的通知不陌生,下面我们就学习一下怎么使用Android中的通知. 一.通知的基本用法 活动.广播接收器和服务中都可以创建通知,由于我们一般在程序进入后台后才使用通知,所以真实场景中,一般很少在活动中创建通知. 1.第一行代码上面介绍的创建通知的方法 //获得通知管理器 NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_

Android开发之Notification通知用法详解

本文实例讲述了Android开发之Notification通知用法.分享给大家供大家参考,具体如下: 根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉.或者,只要程序在运行就一直显示通知栏图标. 下面对Notification类中的一些常量,字段,方法简单介绍一下: 常量: DEFAULT_ALL 使用所