Notification_使用详解(很全)1
Android_Notification的使用方法
0.获取NotionManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent.setAction("com.security.PERMISSION_CONTROL");
13.获得PendingIntent
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
2.设置摘要:
String summaryStr = context.getString(R.string.norification_control_state_summary);
Notification标志ID.可以通过这个ID来取消这个通知
notificationManager.cancel(notificationID);
notification.flags |= Notification.FLAG_SHOW_LIGHTS; // 必须加上这个标志
notification.defaults = 0
9.设置提示声音,
·使用默认声音
notification.defaults |= Notification.DEFAULT_SOUND;
notification.SetLatestEventInfo(context, titStr, summStr, pendingIntent);
notificationManager.notify(notificationID, notification);
android studio notice用法
android studio notice用法
在Android Studio中,通知(Notification)是一种常用的提醒用户的方式,可以在App运行过程中主动向用户推送消息。
Notification类描述了消息通知的组成内容,包括消息图标、消息标题、消息内容等基本元素,以及附加文本、进度条、计时器等额外元素。
实际推送工作还需要由通知管理器NotificationManager执行。
以下是一个简单的使用Notification的示例:
1. 创建一个Notification对象,并设置其各种属性,如标题、内容、图标等。
2. 创建一个PendingIntent对象,该对象指定了当用户点击通知时应该打开的Activity或执行的操作。
3. 使用NotificationManager来发送Notification。
需要注意的是,由于Android系统版本的更新,Notification的使用方式也在不断变化。
因此,在编写代码时需要考虑到不同版本的兼容性。
同时,对于Android 及以上版本,由于引入了新的通知渠道(Notification Channels)的概念,因此需要在创建通知前先创建一个通知渠道。
通知渠
道用于定义通知的属性和行为,例如声音、振动和优先级等。
此外,为了确保通知能够正常显示,还需要在文件中添加必要的权限和声明。
例如,如果要在后台播放音乐或发送网络请求时显示通知,需要在Manifest中添加相应的权限。
总之,在Android Studio中正确使用Notification需要考虑到多个方面,包括API的调用、权限的声明以及不同版本的兼容性等。
AndroidStudioNotification(状态栏通知)详解
AndroidStudioNotification(状态栏通知)详解1.设计⽂档部分解读1)Notification的基本布局上⾯的组成元素依次是:Icon/Photo:⼤图标Title/Name:标题Message:内容信息Timestamp:通知时间,默认是系统发出通知的时间,也可以通过setWhen()来设置Secondary Icon:⼩图标内容⽂字,在⼩图标的左⼿边的⼀个⽂字2)扩展布局在 Jelly Bean 中你可以为通知提供更多事件的细节。
你可以通过扩展布局显⽰消息的前⼏⾏或者图⽚的预览。
这样⽤户可以看多更多的内容 - 有时甚⾄可以看到整个消息。
⽤户可以通过 pinch-zoom 或者双⼿指滑动来打开扩展布局。
Android 为单条消息提供了两种扩展布局 (⽂字和图像) 供你开发应⽤时使⽤。
关于其他⼀些设计的东西,就不⼀⼀提及了,有兴趣的⾃⾏查看上⾯提供的API⽂档,知道下这个Notification在4.x以上的版本可以多种多样就好!我们更多的时候关注的是如何写代码使⽤这个东西,下⾯我们就来学习下Notification的⽤法!2.Notification的基本使⽤流程状态通知栏主要涉及到2个类:Notification 和NotificationManagerNotification:通知信息类,它⾥⾯对应了通知栏的各个属性NotificationManager:是状态栏通知的管理类,负责发通知、清除通知等操作。
使⽤的基本流程:Step 1. 获得NotificationManager对象: NotificationManager mNManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);Step 2. 创建⼀个通知栏的Builder构造类: Notification.Builder mBuilder = new Notification.Builder(this);Step 3. 对Builder进⾏相关的设置,⽐如标题,内容,图标,动作等!Step 4.调⽤Builder的build()⽅法为notification赋值Step 5.调⽤NotificationManager的notify()⽅法发送通知!PS:另外我们还可以调⽤NotificationManager的cancel()⽅法取消通知3.设置相关的⼀些⽅法:Notification.Builder mBuilder = new Notification.Builder(this);后再调⽤下述的相关的⽅法进⾏设置:(官⽅API⽂档:) 常⽤的⽅法如下:setContentTitle(CharSequence):设置标题setContentText(CharSequence):设置内容setSubText(CharSequence):设置内容下⾯⼀⼩⾏的⽂字setTicker(CharSequence):设置收到通知时在顶部显⽰的⽂字信息setWhen(long):设置通知时间,⼀般设置的是收到通知时的System.currentTimeMillis()setSmallIcon(int):设置右下⾓的⼩图标,在接收到通知的时候顶部也会显⽰这个⼩图标setLargeIcon(Bitmap):设置左边的⼤图标setAutoCancel(boolean):⽤户点击Notification点击⾯板后是否让通知取消(默认不取消)setDefaults(int):向通知添加声⾳、闪灯和振动效果的最简单、使⽤默认(defaults)属性,可以组合多个属性,Notification.DEFAULT_VIBRATE(添加默认震动提醒);Notification.DEFAULT_SOUND(添加默认声⾳提醒);Notification.DEFAULT_LIGHTS(添加默认三⾊灯提醒)Notification.DEFAULT_ALL(添加默认以上3种全部提醒)setVibrate(long[]):设置振动⽅式,⽐如:setVibrate(new long[] {0,300,500,700});延迟0ms,然后振动300ms,在延迟500ms,接着再振动700ms,关于Vibrate⽤法后⾯会讲解!setLights(int argb, int onMs, int offMs):设置三⾊灯,参数依次是:灯光颜⾊,亮持续时间,暗的时间,不是所有颜⾊都可以,这跟设备有关,有些⼿机还不带三⾊灯;另外,还需要为Notification设置flags为Notification.FLAG_SHOW_LIGHTS 才⽀持三⾊灯提醒!setSound(Uri):设置接收到通知时的铃声,可以⽤系统的,也可以⾃⼰设置,例⼦如下:.setDefaults(Notification.DEFAULT_SOUND) //获取默认铃声.setSound(Uri.parse("file:///sdcard/xx/xx.mp3")) //获取⾃定义铃声.setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "5")) //获取Android多媒体库内的铃声setOngoing(boolean):设置为ture,表⽰它为⼀个正在进⾏的通知。
notification用法
notification用法Notification用法Notification是Android系统中的一种提醒方式,它可以在屏幕上显示一条消息,提示用户有新的事件发生。
在Android应用程序中,Notification通常用于提醒用户有新的消息、通知、任务等等。
本文将详细介绍Notification的使用方法。
一、创建Notification实例要创建一个Notification实例,需要使用Notification.Builder类。
以下是创建一个基本的Notification实例的示例代码:```// 创建一个基本的Notification实例NotificationCompat.Builder builder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.notification_icon).setContentTitle("My notification").setContentText("Hello World!");```其中,setSmallIcon()方法用于设置通知栏中小图标的资源ID;setContentTitle()方法用于设置通知栏中标题文本;setContentText()方法用于设置通知栏中内容文本。
二、设置PendingIntent当用户点击通知时,我们需要响应这个事件。
为此,我们需要为通知设置一个PendingIntent。
PendingIntent是一个延迟执行的Intent 对象,它允许我们在未来某个时间点执行某个操作。
以下是为通知设置PendingIntent的示例代码:```// 创建一个打开Activity的PendingIntentIntent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);// 将PendingIntent设置到Builder中builder.setContentIntent(pendingIntent);```其中,getActivity()方法用于创建启动Activity的Intent对象;getBroadcast()方法用于创建发送广播的Intent对象;getService()方法用于创建启动Service的Intent对象。
Notification 使用详解(很全).
Notification 使用详解(很全Java & android 2011-01-25 14:23:21当用户有没有接到的电话的时候,Android顶部状态栏里就会出现一个小图标。
提示用户有没有处理的快讯,当拖动状态栏时,可以查看这些快讯。
Android给我们提供了NotificationManager来管理这个状态栏。
可以很轻松的完成。
如果要添加一个Notification,可以按照以下几个步骤1:获取NotificationManager:NotificationManagerm_NotificationManager=(NotificationManagerthis.getSystemService(NOTIFICATI ON_SER VICE;2:定义一个Notification:Notification m_Notification=new Notification(;3:设置Notification的各种属性://设置通知在状态栏显示的图标m_Notification.icon=R.drawable.icon;//当我们点击通知时显示的内容m_Notification.tickerText="Button1 通知内容.....";通知时发出的默认声音m_Notification.defaults=Notification.DEFAULT_SOUND;//设置通知显示的参数Intent m_Intent=new Intent(NotificationDemo.this,DesActivity.class; PendingIntent m_PendingIntent=PendingIntent.getActivity(NotificationDemo.this, 0,m_Intent, 0;m_Notification.setLatestEventInfo(NotificationDemo.this, "Button1", "Button1通知",m_PendingIntent ;//这个可以理解为开始执行这个通知m_NotificationManager.notify(0,m_Notification;4:既然可以增加同样我们也可以删除。
notice 和 notification
Notice 和 Notification 的区别与运用一、notice 和 notification 的定义1. notice:notice 是一个英语单词,可以作名词或动词使用。
作名词时,表示“注意,注意到,通知,布告”等意思;作动词时,表示“注意到,察觉,通知”等意思。
2. notification:notification 也是一个英语单词,通常作名词使用,表示“通知,通告,通报”等意思。
二、notice 和 notification 的用法比较1. notice 一般用作名词时,表示的是“通知、布告”等形式的消息,比如公告、告示、通告等。
2. notification 通常用作名词,表示“通知”或“通告”,重点强调的是一种正式的冠方形式的通知。
三、notice 和 notification 的具体场景应用1. notice 的应用场景(1) 在学校、办公室、公共场所等地方,通常会有各种通知或者告示,这些通知和告示就是 notice。
比如学校的校园通告、公司的公告、商场的通知等,都属于 notice 的范畴。
(2) 在日常生活中,如果有人想要传达某种重要的信息,也可以使用notice 这个词汇。
你可以对他人说:“I want to give you a notice about our meeting tomorrow.”2. notification 的应用场景(1) 在一些正式的场合,比如政府部门、公司组织等,通常会使用notification 这个词汇来表示正式的冠方通知。
政府发布的公告、公司发出的通知、法院传达的法律通知等,都属于 notification 的范畴。
(2) 在技术领域,比如软件、手机应用等,notification 通常用来表示“通知”功能,用于提醒用户收到了某些消息或者事件。
比如手机上的消息通知、软件中的系统通知等,都是 notification 的应用。
四、notice 和 notification 的语法搭配1. 在句子中,notice 和 notification 都可以作为名词使用,可以和动词 give, receive, send, issue 等搭配使用。
android用户界面之Notification教程实例汇总
android用户界面之Notification教程实例汇总用户界面是android开发中最基础的功能,也是与用户交互最直接的方式。
通过学习安卓开发这段时间,很容易找到关于android的各种UI常见元素的教程与实例。
比如说:WebView,Edittext,Button ,ListView,TextView, checkbox,layout, surfaceview,menu,progressBar,seekBar,Notification 等等。
现在特地总结了Android用户界面之Notification 的相关信息,分三个方面进行说明的,希望可以对学习 安卓开发 的朋友们有些帮助,也希望能不断补充新的学习内容。
一、Notification基础教程1.Notification实时显示系统内存信息/android-51690-1-1.html2.Android 通知Notification/android-51694-1-1.html3.Notification 使用详解(很全)/android-51688-1-1.html4.Android Push Notification实现信息推送使用/android-48363-1-1.html5.android 消息提醒(Toast,Notification)/android-12970-1-1.html6.第十九讲:Android Notification的使用入门/android-725-1-1.html7.Android Notification与Toast/android-6187-1-1.html8.Andriod:Toast、Notification、Alarm, Android中的通知实现 /android-4776-1-1.html9.NotificationManager and Notification学习笔记/android-267-1-1.html10Android 浅谈Notification/android-16289-1-1.html11.android开发(11) 消息栏通知(Notification)/android-5202-1-1.html12.解读Notification/android-19156-1-1.html二、Notification简单实例1.如何制作Notification程序/android-51689-1-1.html 2.实现自定义布局的Notification/android-19155-1-1.html 3.android之Notification的使用/android-17099-1-1.html 4.Android 给地震监视器添加Notification/android-16948-1-1.html 5.Android 高级Notification技巧/android-16949-1-1.html 6.在Android中使用Notification进行提示/android-20486-1-1.html三、Notification实例源码1.使用免费服务轻松实现push notification/android-51693-1-1.html 2.如何修改状态栏notification/android-5967-1-1.html。
关于Notification
1.创建一个Notification的对象Notification(icon, tickerText, when)2.setLatestEventInfo(context,ContentTitle,contentText,contentIntent)第一个参数上下文环境第二个参数标题第三个参数内容第四个参数要跳转到的Activity其中的Intent 是PendingIntent类型的3.创建PendingIntent的对象通过PendingIntent contentIntent=PendingIntent.getActivity (context, requestCode, intent, flags);第一个参数上下文环境第二个参数请求号第三个参数intent对象要跳转到的Activity 第四个参数标志位4.激活Notification要通过NotificationManager对象调用notify(id, notification)方法,因此Notification的激活需要使用NotificationManager对象创建NotificationManager对象getSystemService(Context.NOTIFICATION_SERVICE); default属性为Notification设置震动、声音、灯光,取值是Notification中的常量以DEFAULT 开头,如果只想设置其中的两个可以用位或| 符号进行分割;flag属性设置Notification能否被清除,取值是Notification中的常量以FLAG 开头设置震动要加权限uses-permission android:name="android.permission.VIBRATE"一个应用对用着一个ActivityManager的对象,同时对应着一个NotificationManager的对象,管理时只通过ID区分,其他的不能标示NotificationManager可以让我们的Notification消失,cancle(ID),cancleall()。
Android中Notification通知用法详解
Android中Notification通知⽤法详解Notification的作⽤通知(Notification)是Android系统中⽐较有特⾊的⼀个功能。
当某个应⽤程序希望向⽤户发出⼀些提⽰信息,⽽该应⽤程序⼜不在前台运⾏时,就可以⽤通知来实现⽤法⾸先我们需要⼀个NotificationManager来对通知进⾏管理,可以调⽤getSystemService()⽅法得到,⽅法接收⼀个字符串参数⽤于确定获取系统的哪个服务,这⾥我们传⼊NOTIFICATION_SERVICE。
NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);接下来⽤⼀个Builder构造器来创建Notification对象Intent intent=new Intent(this,NotificationActivity.class);//⽤intent表现出我们要启动Notification的意图PendingIntent pi=PendingIntent.getActivity(this,0,intent,0);//将Intent对象传⼊PendingIntent对象的getActivity⽅法中NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);Notification notification=new NotificationCompat.Builder(this).setContentTitle("This is content title")//设置通知栏中的标题.setContentText("hello world!")//设置通知栏中的内容.setWhen(System.currentTimeMillis())//设置通知出现的时间,此时为事件响应后⽴马出现通知.setSmallIcon(R.mipmap.ic_launcher)//设置通知出现在⼿机顶部的⼩图标.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))//设置通知栏中的⼤图标.setContentIntent(pi)//将PendingIntent对象传⼊该⽅法中,表明点击通知后进⼊到NotificationActivity.class页⾯.setAutoCancel(true)//点击通知后,通知⾃动消失.setDefaults(NotificationCompat.DEFAULT_ALL)//默认选项,根据⼿机当前的环境来决定通知发出时播放的铃声,震动,以及闪光灯.setPriority(NotificationCompat.PRIORITY_MAX)//设置通知的权重.build();manager.notify(1,notification);//⽤于显⽰通知,第⼀个参数为id,每个通知的id都必须不同。
NotiFication 详解
NotiFication 详解下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。
发现这个功能特别好用,所以我就根据我的理解来谈谈。
摘自帮助文档 : notification类表示一个持久的通知,将提交给用户使用NotificationManager。
已添加的Notification.Builder,使其更容易构建通知。
notification是一种让你的应用程序在没有开启情况下或在后台运行警示用户。
它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity)警示用户有需要注意的事件发生的最好途径。
先来区分以下状态栏和状态条的区别:1、状态条就是手机屏幕最上方的一个条形状的区域;在状态条有好多信息量:比如usb连接图标,手机信号图标,电池电量图标,时间图标等等;2、状态栏就是手从状态条滑下来的可以伸缩的view;在状态栏中一般有两类(使用FLAG_标记):(1)正在进行的程序;(2)是通知事件;大概来描述创建一个Notification传送的信息有:1、一个状态条图标;2、在拉伸的状态栏窗口中显示带有大标题,小标题,图标的信息,并且有处理该点击事件:比如调用该程序的入口类;3、闪光,LED,或者震动;快速创建一个Notification的步骤简单可以分为以下四步:第一步:通过getSystemService()方法得到NotificationManager对象;第二步:对Notification的一些属性进行设置比如:内容,图标,标题,相应notification的动作进行处理等等;第三步:通过NotificationManager对象的notify()方法来执行一个notification 的快讯;第四步:通过NotificationManager对象的cancel()方法来取消一个notificatioin 的快讯;下面对Notification类中的一些常量,字段,方法简单介绍一下:常量:DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等 DEFAULT_LIGHTS 使用默认闪光提示DEFAULT_SOUNDS 使用默认提示声音DEFAULT_VIBRATE 使用默认手机震动【说明】:加入手机震动,一定要在manifest.xml中加入权限:<uses-permissionandroid:name="android.permission.VIBRATE" />以上的效果常量可以叠加,即通过mNotifaction.defaults =DEFAULT_SOUND | DEFAULT_VIBRATE ;或mNotifaction.defaults |=DEFAULT_SOUND (最好在真机上测试,震动效果模拟器上没有)//设置flag位FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉FLAG_NO_CLEAR 该通知能被状态栏的清除按钮给清除掉FLAG_ONGOING_EVENT 通知放置在正在运行FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应常用字段:contentIntent 设置PendingIntent对象,点击时发送该Intentdefaults 添加默认效果flags 设置flag位,例如FLAG_NO_CLEAR 等icon 设置图标sound 设置声音tickerText 显示在状态栏中的文字when 发送此通知的时间戳Notification.build构造Notification方法介绍:void setLatestEventInfo(Context context ,CharSequencecontentTitle,CharSequence contentText,PendingIntent contentIntent)功能:显示在拉伸状态栏中的Notification属性,点击后将发送PendingIntent 对象参数: context 上下文环境contentTitle 状态栏中的大标题contentText 状态栏中的小标题contentIntent 点击后将发送PendingIntent对象说明:要是在Notification中加入图标,在状态栏和状态条中显示图标一定要用这个方法,否则报错!最后说一下NotificationManager类的常用方法:通过获取系统服务来获取该对象:NotificationManager mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE) ;NotificationManager常用方法介绍:public voidcancelAll() 移除所有通知 (只是针对当前Context下的Notification)public void cancel(intid) 移除标记为id的通知(只是针对当前Context下的所有Notification)public void notify(String tag ,int id, Notification notification) 将通知加入状态栏, 标签为tag,标记为idpublic void notify(int id, Notificationnotification) 将通知加入状态栏,,标记为id下面看一下demo的效果图:图(1)图(2)图(3)图(4)图(5)源码奉上:在NotificationApp工程里面:一、在.notification.daming包下面NotificationMainActivity.java中的代码:package .notification.daming;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.content.SharedPreferences;import android.media.RingtoneManager;import .Uri;import android.os.Bundle;import android.preference.PreferenceManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class NotificationMainActivity extends Activity implements OnClickListener {private Button setNotificationSoundBtn = null;private Button showNotificatioBtn = null;private Button cancelNotificationBtn = null;private Intent mIntent = null;private PendingIntent mPendingIntent = null;private Notification mNotification = null;private NotificationManager mNotificationManager = null;private static final int NOTIFICATION_STATE = 1;private static final int RINGTONE_PICKED = 2;private Uri notifiSounds = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);mNotificationManager =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);setNotificationSoundBtn = (Button)findViewById(R.id.button0);setNotificationSoundBtn.setOnClickListener(this);showNotificatioBtn = (Button)findViewById(R.id.button1);showNotificatioBtn.setOnClickListener(this);cancelNotificationBtn = (Button)findViewById(R.id.button2);cancelNotificationBtn.setOnClickListener(this);mIntent = new Intent(this, ToNotificationActivity.class);mPendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0);mNotification = new Notification();}public void onClick(View v) {// TODO Auto-generated method stubswitch(v.getId()){case R.id.button0:SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);Intent intent = newIntent(RingtoneManager.ACTION_RINGTONE_PICKER);// Allow user to pick 'Default'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));// Show only ringtonesintent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);// Don't show 'Silent'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);String notifi_sound =sharedPreferences.getString("notification_sounds", null);if(notifi_sound != null){intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_UR I, Uri.parse(notifi_sound));}// Launch!startActivityForResult(intent, RINGTONE_PICKED);break;case R.id.button1:mNotification.icon = R.drawable.daming;mNotification.tickerText = "大明ZeroSon Notification";mNotification.sound = notifiSounds;mNotification.defaults = Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS;mNotification.flags = Notification.FLAG_INSISTENT ;mNotification.setLatestEventInfo(this, "大明Notification", "This is Daming`s Notification Test!", mPendingIntent);mNotificationManager.notify(NOTIFICATION_STATE, mNotification);break;case R.id.button2:mNotificationManager.cancel(NOTIFICATION_STATE);break;default:break;}}@Overrideprotected void onResume() {super.onResume();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);SharedPreferences.Editor editor = sharedPreferences.edit();if (resultCode != RESULT_OK) {return;}switch (requestCode) {case RINGTONE_PICKED: {notifiSounds =data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);editor.putString("notification_sounds",notifiSounds.toString());mit();break;}default: break;}}}package .notification.daming;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.content.SharedPreferences;import android.media.RingtoneManager;import .Uri;import android.os.Bundle;import android.preference.PreferenceManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class NotificationMainActivity extends Activity implements OnClickListener {private Button setNotificationSoundBtn = null;private Button showNotificatioBtn = null;private Button cancelNotificationBtn = null;private Intent mIntent = null;private PendingIntent mPendingIntent = null;private Notification mNotification = null;private NotificationManager mNotificationManager = null;private static final int NOTIFICATION_STATE = 1;private static final int RINGTONE_PICKED = 2;private Uri notifiSounds = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);mNotificationManager =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);setNotificationSoundBtn = (Button)findViewById(R.id.button0);setNotificationSoundBtn.setOnClickListener(this);showNotificatioBtn = (Button)findViewById(R.id.button1);showNotificatioBtn.setOnClickListener(this);cancelNotificationBtn = (Button)findViewById(R.id.button2);cancelNotificationBtn.setOnClickListener(this);mIntent = new Intent(this, ToNotificationActivity.class);mPendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0);mNotification = new Notification();}public void onClick(View v) {// TODO Auto-generated method stubswitch(v.getId()){case R.id.button0:SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);// Allow user to pick 'Default'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));// Show only ringtonesintent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);// Don't show 'Silent'intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); String notifi_sound =sharedPreferences.getString("notification_sounds", null);if(notifi_sound != null){intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,Uri.parse(notifi_sound));}// Launch!startActivityForResult(intent, RINGTONE_PICKED);break;case R.id.button1:mNotification.icon = R.drawable.daming;mNotification.tickerText = "大明ZeroSon Notification";mNotification.sound = notifiSounds;mNotification.defaults = Notification.DEFAULT_VIBRATE |Notification.DEFAULT_LIGHTS;mNotification.flags = Notification.FLAG_INSISTENT ;mNotification.setLatestEventInfo(this, "大明Notification", "This is Daming`s Notification Test!", mPendingIntent);mNotificationManager.notify(NOTIFICATION_STATE, mNotification);break;case R.id.button2:mNotificationManager.cancel(NOTIFICATION_STATE);break;default:break;}}@Overrideprotected void onResume() {super.onResume();}protected void onActivityResult(int requestCode, int resultCode, Intent data) { SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);SharedPreferences.Editor editor = sharedPreferences.edit();if (resultCode != RESULT_OK) {return;}switch (requestCode) {case RINGTONE_PICKED: {notifiSounds =data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);editor.putString("notification_sounds", notifiSounds.toString());mit();break;}default: break;}}}二、在.notification.daming包下面ToNotificationActivity.java中的代码:package .notification.daming;import android.app.Activity;import android.content.SharedPreferences;import android.media.Ringtone;import android.media.RingtoneManager;import .Uri;import android.os.Bundle;import android.preference.PreferenceManager;import android.widget.TextView;public class ToNotificationActivity extends Activity{private TextView textview = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main1);SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);textview = (TextView)findViewById(R.id.textview);String notificationsound =sharedPreferences.getString("notification_sounds", null);if(notificationsound == null){textview.setText("默认Notification声音");} else{Ringtone ringtone= RingtoneManager.getRingtone(ToNotificationActivity.this,Uri.parse(notificationsound));String title = ringtone.getTitle(ToNotificationActivity.this);textview.setText(title);}}}package .notification.daming;import android.app.Activity;import android.content.SharedPreferences;import android.media.Ringtone;import android.media.RingtoneManager;import .Uri;import android.os.Bundle;import android.preference.PreferenceManager;import android.widget.TextView;public class ToNotificationActivity extends Activity{private TextView textview = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main1);SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);textview = (TextView)findViewById(R.id.textview);String notificationsound = sharedPreferences.getString("notification_sounds", null);if(notificationsound == null){textview.setText("默认Notification声音");} else{Ringtone ringtone = RingtoneManager.getRingtone(ToNotificationActivity.this, Uri.parse(notificationsound));String title = ringtone.getTitle(ToNotificationActivity.this);textview.setText(title);}}}三、在layout下main.xml布局文件的代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"android:gravity="center"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button0"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="设置Notification的sounds"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="发送Notification"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="取消Notification"android:layout_marginBottom="10dip"/></LinearLayout><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"android:gravity="center"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button0"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="设置Notification的sounds"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="发送Notification"android:layout_marginBottom="10dip"/><Buttonandroid:id="@+id/button2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="取消Notification"android:layout_marginBottom="10dip"/></LinearLayout>四、在layout下main1.xml布局文件的代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="10pt"android:text="大明原创"android:layout_marginTop="10dip"android:layout_marginBottom="10dip"/><TextViewandroid:id="@+id/textview"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="10pt"android:layout_marginTop="10dip"android:layout_marginBottom="10dip"/></LinearLayout><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="10pt"android:text="大明原创"android:layout_marginTop="10dip"android:layout_marginBottom="10dip"/><TextViewandroid:id="@+id/textview"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="10pt"android:layout_marginTop="10dip"android:layout_marginBottom="10dip"/></LinearLayout>五、manifest.xml中的代码:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package=".notification.daming"android:versionCode="1"android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><uses-permission android:name="android.permission.VIBRATE" /><application android:icon="@drawable/icon"android:label="@string/app_name"><activity android:name=".NotificationMainActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /> </intent-filter></activity><activity android:name=".ToNotificationActivity"></activity></application></manifest>。
Notification
∙通知的接收1. notification由系统或第三方应用封装发出notificationManager.notify()。
2. 通知进入一个队列NotificationManagerService.enqueueNotificationInternal()。
3. 在上面方法里面会发现一个熟悉的身影,就是mStatusBar,它是StatusBarManagerService的化身。
调用mBar.addNotification(key,notification);4. 通过linux查找命令先定位IStatusBar.aidl的位置,然后在该最外路径下搜索IStatusBar.Stub可以找到具体实现它的java文件,这里我们找到了CommandQueue,java。
然后调用CommandQueue. addNotification(),该方法利用handle发出一个消息:MSG_ADD_NOTIFICATION,跳转到回调函数addNotification(ne.key,ne.notification); PhoneStatusBar实现了这个回调方法。
5. 以上一个通知算是被系统statusBar所接收到。
∙通知的statusbar显示public void addNotification(IBinder key, StatusBarNotification notification) {// 1.初始化一个状态栏图标来体现该notificationStatusBarIconView iconView = addNotificationViews(key, notification);if (iconView == null) return;}if (immersive) {//无实际作用,4.1会被注释} else if (notification.notification.fullScreenIntent != null) {// 2.not immersive & a full-screen alert should be shown,比如电话和闹钟的通知灰常nbSlog.d(TAG, "Notification has fullScreenIntent; sending fullScreenIntent");try {notification.notification.fullScreenIntent.send();} catch (PendingIntent.CanceledException e) {}} else {// ual case: status bar visible & not immersive。
notification 的使用
notification 的使用
通知(notification)是在应用程序中用于向用户传达重要信
息或提醒的一种方式。
通知可以以不同的形式呈现,例如弹出窗口、图标上的小红点、声音提示等,以吸引用户的注意并传达特定的信息。
通知的使用可以帮助用户及时了解重要的事件或提醒,提高用
户体验和使用效率。
在移动应用程序中,通知可以用于各种用途,比如推送新消息、提醒用户完成某项任务、告知用户特定活动或事件等。
在桌面应用
程序中,通知也可以用于类似的目的,比如提醒用户更新软件、通
知用户有新的邮件到达等。
通知的使用需要注意以下几点:
1. 合理性,通知的使用应该合理,避免过度打扰用户,否则会
适得其反。
只有在必要的情况下才发送通知。
2. 个性化,通知应该尽可能个性化,根据用户的偏好和行为习
惯发送相关的通知,以增加用户的关注度和响应率。
3. 可控性,用户应该可以自由选择是否接收某种类型的通知,并且可以随时调整通知的设置,以便根据自己的需求进行管理。
4. 清晰明了,通知的内容应该清晰明了,让用户一目了然地知道通知的用途和重要性,避免造成困扰或误解。
总之,通知作为一种重要的用户交互方式,可以在合适的情况下提供及时、个性化的信息传达,但需要注意合理使用,以保证用户体验的良好和用户满意度的提高。
notification用法
任务名称:notification用法一、什么是notification?Notification(通知)是一个广泛使用的功能,用于向用户传达特定的信息、提醒或警示。
它可以在手机、电脑或其他设备上以弹窗、图标、音频或震动等形式展示。
通知功能已经成为现代软件、应用程序和操作系统的标配。
无论是社交媒体的新消息提醒、手机的短信通知,还是电子邮件的到达通知等,都是通知功能在实践中的运用。
二、为何使用notification?通过使用notification,我们可以实现以下几个目标: 1. 实时提醒和传达信息:notification可以及时向用户发送重要信息,确保用户不会错过重要事件、交流或任务。
比如,社交媒体的新消息提醒、手机的来电提醒等。
2.提高用户参与度和互动性:通过将通知与用户活动相关联,我们可以提升用户的参与度和互动性。
举例来说,应用程序可以通过notification来提醒用户分享他们的成果、完成任务或参与游戏活动。
3.个性化和定制化用户体验:notification可以根据用户的个人偏好和兴趣来定制,从而提供更个性化的用户体验。
比如,我们可以通过notification提醒用户关注他们感兴趣的话题、产品或活动。
三、notification的使用场景notification的使用场景非常广泛,以下是一些常见的场景:1. 社交媒体应用社交媒体应用是notification的重要应用场景之一。
通过notification,用户可以实时获取到新消息、评论、点赞或关注等活动的提醒。
这些通知会在手机的状态栏、应用图标或锁屏界面显示,方便用户快速浏览和响应。
2. 邮件和消息应用邮件和消息应用程序也广泛使用notification功能。
用户可以通过notification及时收到新邮件、新消息的提醒,并可以直接在通知栏中预览和回复。
这种提醒方式可以大大提高用户的工作效率和通信效率。
3. 任务管理应用任务管理应用可以使用notification来提醒用户即将到期的任务、重要任务的进展情况等。
notice和notification
notice和notification摘要:1.概念介绍- notice 和notification 的定义- 两者之间的联系与区别2.notice 和notification 的应用场景- notice 在生活中的应用- notification 在信息时代的应用3.notice 和notification 的优缺点- notice 的优缺点- notification 的优缺点4.总结- notice 和notification 的重要性- 选择合适的传递方式正文:otice 和notification 是我们日常生活中经常接触到的词汇,它们都与信息的传递有关。
那么,这两者之间有什么区别呢?在什么场景下适用呢?本文将为您详细解答。
1.概念介绍otice,中文意为“通知”,主要是指以书面形式或口头形式告知他人某件事情的发生、变更或结束。
它是一种正式的、有目的的信息传递方式,通常具有广泛的受众。
而notification,中文意为“通知、告知”,更强调以电子信息的方式传递信息,尤其适用于现代信息社会。
它是一种即时性、个性化的信息传递方式,通常具有较快的传播速度和较高的接收效率。
2.notice 和notification 的应用场景在生活中,notice 的应用场景非常广泛。
例如,学校发布课程调整的通知,公司发布节假日安排,政府部门发布政策法规等。
这些场景中,通知的发布往往需要经过一定的程序,如审批、发布等,具有一定的权威性和正式性。
而在信息时代,notification 的应用场景愈发多样。
如手机应用推送、社交媒体提醒、电子邮件等。
这些场景中,信息的传递速度快、受众广泛,且能够根据接收者的需求进行定制。
3.notice 和notification 的优缺点otice 的优点在于其正式性和权威性,有利于提高信息传递的严肃性和重视程度。
但缺点是发布程序较为繁琐,传播速度较慢,容易造成信息滞后。
相比之下,notification 的优点在于其快速、实时的传递方式,能够满足现代社会对信息的高效需求。
notification的最简单的用法
notification的最简单的用法【释义】notificationn.通知;通知单,通知书;通告,布告【短语】1event notification事件通知;事件通告;展会通知2Local Notification本地通知;本地推送;本地推送通知3Notification Area通知区域;通知区;任务栏通知区;提醒区4change notification更改通知;变更通知;改变通知;变化通知5Status Notification状态栏通知;状态通知6receipt notification接收通知;回条通知;回执通知7Notification Broker增强系统通知;通知代理8Raw Notification原生通知;消息类型9Notification Class通知类;通告类【例句】1Names of the dead and injured are being withheld pending notification of relatives.伤亡者的姓名在通知亲属前不被公布。
2Listing4shows a typical messaging event,posting notification of a new high bid in an auction system,and the code that generates it.清单4显示了一个典型的消息传递事件,即发布拍卖系统中的一个新的高投标通知和产生该事件的代码。
3You should receive(a)notification of our decision in the next week.关于我们的决定,下周你会接到通知。
4Improved notification events.改进通知事件。
5This method then logs the notification.该方法随后记录通知。
6Notification of shipment is sent by E-mail.出货通知是由电子邮件发送的。
Android中通知Notification使用实例(振动、灯光、声音)
Android中通知Notification使⽤实例(振动、灯光、声⾳)本⽂实例讲解了通知Notification使⽤⽅法,此知识点就是⽤作通知的显⽰,包括振动、灯光、声⾳等效果,分享给⼤家供⼤家参考,具体内容如下效果图:MainActivity:import java.io.File;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.graphics.Color;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener { private Button sendNotice;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);sendNotice = (Button) findViewById(R.id.send_notice);sendNotice.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.send_notice:NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //创建notification对象来存储通知所需的各种信息//第⼀个参数为图标//第⼆个参数⽤于指定通知的ticker内容//第三个参数⽤于指定通知被创建的时间,以毫秒为单位Notification notification = new Notification(R.drawable.ic_launcher, "This is ticker text",System.currentTimeMillis());//此处设置点击的activity的跳转//第⼀个参数依旧是Context//第⼆个参数⼀般⽤不到,所以⽤0表⽰取默认值//第三个参数就是⼀个Intent对象//FLAG_CANCEL_CURRENT:如果当前系统中已经存在⼀个相同的PendingIntent对象,// 那么就将先将已有的PendingIntent取消,然后重新⽣成⼀个PendingIntent对象。
全面解析Notification
全面解析NotificationNotification在Android中使用的频率可以说是非常高的,本篇博客,我将围绕着Notification的各方面进行解析,使大家对Notification有更好的认识。
Notification的使用步骤1.获取NotificationManagerNotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);2.创建NotificationCompat.BuilderNotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);3.对Builder设置一些Notification相关属性:mBuilder.setContentTitle("标题")//设置通知栏标题.setContentText("内容") //设置通知栏显示内容.setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL)) //设置通知栏点击意图// .setNumber(number) //设置通知集合的数量.setTicker("通知到来") //通知首次出现在通知栏,带上升动画效果的.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间.setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级// .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消.setOngoing(false)//ture,设置他为一个正在进行的通知。
Android Notification 使用详解
Android Notification 使用详解一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。
发现这个功能特别好用。
下面将详细描述其创建过程。
NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);Notification notification = new Notification(R.drawable.ic_launcher, "发钱了",System.currentTimeMillis());notification.flags = Notification.FLAG_AUTO_CANCEL;Intent intent = new Intent("android.settings.WIFI_SETTINGS");intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);PendingIntent pendingIntent = PendingIntent.getActivity(NotifiManagerTestActivity.this,R.string.app_name,intent, PendingIntent.FLAG_CANCEL_CURRENT);notification.setLatestEventInfo(NotifiManagerTestActivity.this, "抢银行","真的抢", pendingIntent);manager.notify(R.string.app_name, notification);具体步骤描述如下:1。
NotificationManager和Notification的使用总结
NotificationManager和Notification的使用总结(1)、使用系统定义的Notification以下是使用示例代码://创建一个NotificationManager的引用String ns = Context.NOTIFICATION_SERVICE;NotificationManager mNotificationManager = (NotificationManager)getSystemService(ns);//定义Notification的各种属性int icon = R.drawable.icon; //通知图标CharSequence tickerText = "Hello"; //状态栏显示的通知文本提示long when = System.currentTimeMillis(); //通知产生的时间,会在通知信息里显示//用上面的属性初始化NofificationNotification notification = new Notification(icon,tickerText,when);/** 添加声音* notification.defaults |=Notification.DEFAULT_SOUND;* 或者使用以下几种方式* notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");* notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");* 如果想要让声音持续重复直到用户对通知做出反应,则可以在notification的flags字段增加"FLAG_INSISTENT"* 如果notification的defaults字段包括了"DEFAULT_SOUND"属性,则这个属性将覆盖sound字段中定义的声音*//** 添加振动* notification.defaults |= Notification.DEFAULT_VIBRATE;* 或者可以定义自己的振动模式:* long[] vibrate = {0,100,200,300}; //0毫秒后开始振动,振动100毫秒后停止,再过200毫秒后再次振动300毫秒* notification.vibrate = vibrate;* long数组可以定义成想要的任何长度* 如果notification的defaults字段包括了"DEFAULT_VIBRATE",则这个属性将覆盖vibrate字段中定义的振动*//** 添加LED灯提醒* notification.defaults |= Notification.DEFAULT_LIGHTS;* 或者可以自己的LED提醒模式:* notification.ledARGB = 0xff00ff00;* notification.ledOnMS = 300; //亮的时间* notification.ledOffMS = 1000; //灭的时间* notification.flags |= Notification.FLAG_SHOW_LIGHTS;*//** 更多的特征属性* notification.flags |= FLAG_AUTO_CANCEL; //在通知栏上点击此通知后自动清除此通知* notification.flags |= FLAG_INSISTENT; //重复发出声音,直到用户响应此通知* notification.flags |= FLAG_ONGOING_EVENT; //将此通知放到通知栏的"Ongoing"即"正在运行"组中* notification.flags |= FLAG_NO_CLEAR; //表明在点击了通知栏中的"清除通知"后,此通知不清除,* //经常与FLAG_ONGOING_EVENT一起使用* notification.number = 1; //number字段表示此通知代表的当前事件数量,它将覆盖在状态栏图标的顶部* //如果要使用此字段,必须从1开始* notification.iconLevel = ; //*///设置通知的事件消息Context context = getApplicationContext(); //上下文CharSequence contentTitle = "My Notification"; //通知栏标题CharSequence contentText = "Hello World!"; //通知栏内容Intent notificationIntent = new Intent(this,Main.class); //点击该通知后要跳转的ActivityPendingIntent contentIntent = PendingIntent.getActivity(this,0,notificationIntent,0);notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);//把Notification传递给NotificationManagermNotificationManager.notify(0,notification);如果想要更新一个通知,只需要在设置好notification之后,再次调用setLatestEventInfo(),然后重新发送一次通知即可,即再次调用notify()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Notification 使用详解当用户有没有接到的电话的时候,Android顶部状态栏里就会出现一个小图标。
提示用户有没有处理的快讯,当拖动状态栏时,可以查看这些快讯。
Android给我们提供了NotificationManage r来管理这个状态栏。
可以很轻松的完成。
如果要添加一个Notification,可以按照以下几个步骤1:获取NotificationManager:NotificationManagerm_NotificationManager=(NotificationManager)this.getSystemService(NOTIFI CATION_SERVICE);2:定义一个Notification:Notification m_Notification=new Notification();3:设置Notification的各种属性://设置通知在状态栏显示的图标m_Notification.icon=R.drawable.icon;//当我们点击通知时显示的内容m_Notification.tickerText="Button1 通知内容.....";//通知时发出的默认声音m_Notification.defaults=Notification.DEFAULT_SOUND;//设置通知显示的参数Intent m_Intent=new Intent(NotificationDemo.this,DesActivity.class); PendingIntentm_PendingIntent=PendingIntent.getActivity(NotificationDemo.this, 0,m_Intent, 0);m_Notification.setLatestEventInfo(NotificationDemo.this, "Button1", "Button1通知",m_PendingIntent );//这个可以理解为开始执行这个通知m_NotificationManager.notify(0,m_Notification);4:既然可以增加同样我们也可以删除。
当然是只是删除你自己增加的。
m_NotificationManager.cancel(0);这里的0是一个ID号码,和notify第一个参数0一样。
这也就完成了,添加删除工作。
这里我们还是一个Demo来掩饰我们的操作。
1:新建一个工程NotificationDemo。
2:添加一个Activity:DesActivity,注意需要在Manifest.xml中声明3:NotificationDemo中的Laytout文件很简单就是定义一个Button.其代码文件如下:1.package com.rocky.studio.ch4221;2.import android.app.Activity;3.import android.app.Notification;4.import android.app.NotificationManager;5.import android.app.PendingIntent;6.import android.content.Intent;7.import android.os.Bundle;8.import android.view.View;9.import android.widget.Button;10.import android.widget.TextView;11.public class NotificationDemo extends Activity {12.13.Button m_Button1;14.TextView m_txtView;15.16.NotificationManager m_NotificationManager;17.Notification m_Notification;18.19.Intent m_Intent;20.PendingIntent m_PendingIntent;21.22./** Called when the activity is first created. */23.@Override24.public void onCreate(Bundle savedInstanceState) {25. super.onCreate(savedInstanceState);26. setContentView(yout.main);27.28. m_NotificationManager=(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);29.30.31. m_Button1=(Button)this.findViewById(R.id.Button01);32.33.34. //点击通知时转移内容35. m_Intent=new Intent(NotificationDemo.this,DesActivity.class);36.37. m_PendingIntent=PendingIntent.getActivity(NotificationDemo.this, 0,m_Intent, 0);38.39. m_Notification=new Notification();40.41. m_Button1.setOnClickListener(new Button.OnClickListener(){42. public void onClick(View v) {43.// TODO Auto-generated method stub44.45.//设置通知在状态栏显示的图标46.m_Notification.icon=R.drawable.icon;47.48.//当我们点击通知时显示的内容49.m_Notification.tickerText="Button1 通知内容.....";50.51.//通知时发出的默认声音52.m_Notification.defaults=Notification.DEFAULT_SOUND;53.54.//设置通知显示的参数55.m_Notification.setLatestEventInfo(NotificationDemo.this, "Button1","Button1通知",m_PendingIntent );56.57.//这个可以理解为开始执行这个通知58.m_NotificationManager.notify(0,m_Notification);59.60. }});61.62.}63.64.65.}复制代码4:修改DesActivity 的源文件,代码如下:它做的事情就是取消之前添加的Notification1.package com.rocky.studio.ch4221;2.import android.app.Activity;3.import android.app.NotificationManager;4.import android.os.Bundle;5.public class DesActivity extends Activity {6.7.NotificationManager m_NotificationManager;8.9.@Override10.protected void onCreate(Bundle savedInstanceState) {11. // TODO Auto-generated method stub12. super.onCreate(savedInstanceState);13. this.setContentView(yout.main2);14.15. //启动后删除之前我们定义的16. m_NotificationManager=(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);17. m_NotificationManager.cancel(0);18.}19.20.}复制代码代码也很简单。
可以查看Notification ,NotificationMananger 这两个类来学习前后左右。
下面是一篇文章,对Notification ,NotificationManager这两个类有详细的说明介绍,特借鉴一下。
NoticificationManager很容易可以放在状态栏,也很容易实现从statusbar进入程序中,NoticificationManager中通过intent执行此程序的activity就可以了NoticificationManager状态栏操作NotificationManager(通知管理器):NotificationManager负责通知用户事件的发生.NotificationManager有三个公共方法:1. cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走.2. cancelAll() 取消以前显示的所有通知.3. notify(int id, Notification notification) 把通知持久的发送到状态条上.//初始化NotificationManager:NotificationManager nm =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);Notification代表着一个通知.Notification的属性:audioStreamType 当声音响起时,所用的音频流的类型contentIntent 当通知条目被点击,就执行这个被设置的Intent.contentView 当通知被显示在状态条上的时候,同时这个被设置的视图被显示.defaults 指定哪个值要被设置成默认的.deleteIntent 当用户点击"Clear All Notifications"按钮区删除所有的通知的时候,这个被设置的Intent被执行.icon 状态条所用的图片.iconLevel 假如状态条的图片有几个级别,就设置这里.ledARGB LED灯的颜色.ledOffMS LED关闭时的闪光时间(以毫秒计算)ledOnMS LED开始时的闪光时间(以毫秒计算)number 这个通知代表事件的号码sound 通知的声音tickerText 通知被显示在状态条时,所显示的信息vibrate 振动模式.when 通知的时间戳.将Notification发送到状态条上:Notification notification = new Notification();Notification的设置过程……..nm.notify(0, notification); //发送到状态条上创建和触发Notification创建和配置新的Notification需要经历三步。