1、Notification 是显示在手机状态栏的通知——手机状态栏位于手机屏幕的最上方那里一般显示了手机当前网络状态、电池状态、时间等。

2、Notification 代表的是一种具有全局效果的通知,程序一般通过NotificationManager 服务来发送Notification。

3、NotificationManager 是一个重要的系统服务,位于应用程序框架层,应用程序可通过NotificationManager 向系统发送全局通知。

4、通过Notification.Builder 类允许开发者更轻松地创建Notification对象。

5、Notification.Builder 提供的常用方法如下:
①setDefaults() ===> 设置通知LED 灯、音乐、震动等
 该方法支持的属性值:
 DEFAULT_SOUND:设置使用默认声音
 DEFAULT_VIBRATE:设置使用默认震动
 DEFAULT_LIGHTS:设置使用默认闪光灯
 ALL:设置使用默认声音、震动、闪光灯
②setAutoCancel() ===> 设置点击通知后,状态栏自动删除通知
③setContentTitle() ===> 设置通知标题
④setContentText() ===> 设置通知内容
⑤setSmalllcon() ===> 为通知设置图标
⑥setLargelcon() ===> 为通知设置大图标
⑦setTick() ===> 设置通知在状态栏的提示文本
⑧setContentlntent() ===> 设置点击通知后将要启动的程序组件对应的Pendinglntent

6、发送Notification 的步骤:
①调用getSystemService(NOTIFICATION_SERVICE) 方法获取系统的NotificationManager 服务
②通过构造器创建一个Notification 对象
③为Notification 设置各种属性
④通过NotificationManager 发送Notification 的功能和用法

7、访问系统功能须加权限
 <!-- 添加操作闪光灯的权限 -->
 <uses-permission android:name="android.permission.FLASHLIGHT" />
 <!-- 添加操作振动器的权限 -->
 <uses-permission android:name="android.permission.VIBRATE" /> 
 
8、要启动另一个页面,别忘了在AndroidManifest.xml 文件中声明该Activity
 <activity
  android:name=".OtherActivity"
  android:label="@string/other_activity">
 </activity>

9、具体看如下代码

<?xml version="1.0" encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"package="org.crazyit.ui"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="16"android:targetSdkVersion="17" /><!-- 添加操作闪光灯的权限 --><uses-permission android:name="android.permission.FLASHLIGHT" /><!-- 添加操作振动器的权限 --><uses-permission android:name="android.permission.VIBRATE" />      <applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name"><activityandroid:name=".NotificationTest"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name=".OtherActivity"android:label="@string/other_activity"></activity> </application>
</manifest>
package org.crazyit.ui;import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;public class NotificationTest extends Activity {private static final int NOTIFICATION_ID = 0x123;private NotificationManager nm;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取系统的NotificationManager服务nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);}// 为发送通知的按钮的点击事件定义事件处理方法public void send(View source) {// 创建一个启动其他Activity的IntentIntent intent = new Intent(NotificationTest.this, OtherActivity.class);// 单击Notification 通知时将会启动Intent 对应的程序,实现页面的跳转PendingIntent pi = PendingIntent.getActivity(NotificationTest.this, 0, intent, 0);Notification notify = new Notification.Builder(this)// 设置打开该通知,该通知自动消失.setAutoCancel(true)// 设置显示在状态栏的通知提示信息.setTicker("有新消息")// 设置通知的图标.setSmallIcon(R.drawable.notify)// 设置通知内容的标题.setContentTitle("一条新通知")// 设置通知内容.setContentText("恭喜你,您加薪了,工资增加20%!")// // 设置使用系统默认的声音、默认LED灯// .setDefaults(Notification.DEFAULT_SOUND// |Notification.DEFAULT_LIGHTS)// 设置通知的自定义声音.setSound(Uri.parse("android.resource://org.crazyit.ui/"+ R.raw.msg)).setWhen(System.currentTimeMillis())// 设改通知将要启动程序的Intent.setContentIntent(pi).getNotification();// 发送通知nm.notify(NOTIFICATION_ID, notify);}// 为删除通知的按钮的点击事件定义事件处理方法public void del(View v) {// 取消通知nm.cancel(NOTIFICATION_ID);}
}

Android手机状态栏通知(Notification)的功能与用法相关推荐

  1. Android之状态栏通知Notification、NotificationManager详解

    在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationMa ...

  2. 【Android】状态栏通知Notification、NotificationManager详解

    在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationMan ...

  3. android notification自动消失,Android开发 -- 状态栏通知Notification、NotificationManager详解...

    本想自己写一个的,但是看到这篇之后,我想还是转过来吧,实在是非常的详细: 在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? ...

  4. Android手机的12项额外功能

    Android手机的12项额外功能 手机能做服务器 苹果.微软和谷歌三大平台厂商对待手机操作系统的态度完全不同,iOS和Windows Phone以安全为由限制用户和开发者接触系统核心,让用户丧失了很 ...

  5. 意想不到:Android手机的12项额外功能

    意想不到:Android手机的12项额外功能 2014-05-28 09:48:16| 发布者: scy| 查看数:383 摘要: 5月28日消息,众所周知,苹果.微软和谷歌对待手机操作系统的态度是完 ...

  6. iphone通知和android,手机App 通知数量太多,让你备感压力吗?教你如何消除令人心烦的信息通知(iPhone、Android)...

    手机APP右上角通常会显示通知数量,那个数字或许对有些人来说是倍感压力的,想要清除他却又无法,能有消除App通知数量标记的方法吗?当然有!小编这篇就是要教大家如何在iPhone.Android手机上消 ...

  7. Android 10 状态栏通知图标和下拉状态栏图标为白色问题

    前言 安装第三方应用,会在状态栏上面和下拉状态栏通知图标显示白色 原因 因为google在android5.0上面做了限制,为了统一系统风格.之后的状态栏icon就不能够随便用一张色彩丰富的图片了,只 ...

  8. notification源码分析_状态栏通知Notification、NotificationManager详解(源码)----转载...

    在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationMan ...

  9. Android中的通知Notification

    1.获得系统服务 notificationmanager=(NotificationManager) context.getSystemService(NOTIFICATION_SERVICE); 2 ...

最新文章

  1. 2021年大数据Flink(十五):流批一体API Connectors ​​​​​​​Kafka
  2. 【大前端之前后分离01】JS前端渲染VS服务器端渲染
  3. Kotlin一大特色之空安全
  4. java日志输出到kafka
  5. .net随笔-vb.net 系统计时器
  6. 将SimCLR应用于NLP预训练模型,提升句子语义表征效果
  7. Svn安装成功后的操作
  8. toLua关于委托没有注册的解决方案
  9. SpringSecurity认证流程回顾
  10. 根据浏览器navigator区分PC端还是移动端,区分操作系统,区分浏览器型号
  11. django session过期设置
  12. 微信渠道带参数二维码应用场景怎么添加?
  13. Windows Server 2008 各版本介绍
  14. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  15. 设计任务调度依赖配置表
  16. java处理脏数据,Java程序的脏数据问题
  17. 2019新版前端与移动开发学习路线图(视频+工具+书籍+资源)
  18. hive 神盾特工局_《神盾局特工》沃德身份确认 九头蛇反派—蜂巢
  19. Java生成PDF文件保存到本地磁盘
  20. Refactor反编译C#程序

热门文章

  1. 云图“漫漫”,新华三云学堂2.0从校园走向城域
  2. python如何转化为列表_python字符串如何转化为列表
  3. MediaPlayerError (1,-110)的问题
  4. empt注意事项 php_PHP empty()函数说明---用了N遍了就是记不住
  5. 伯克利 计算机课程汇总
  6. (Modern Family S01E04) Part 3 Mitch的mom来了 并且想向Jay和Gloria就他们婚礼上所做的事忏悔
  7. mysql正则替换html代码
  8. 第9章 初识SqlSugarCore之AutoMapper
  9. 找不到类型或命名空间名称[重复]
  10. 通过sql给数据库字段设置默认值