Android 4.3 新增的 notification service 有什么用
展开全部
Notification通知将一个图标(包含一条可选的提示文本信息)填加到系统的状态栏(一般来说,Android手机的状态栏是在顶部,非底部,要注意噢)中,并将一条展开信息添加到通知窗口中。当用户选中展开信息时,Android将执行一个此通知已定义的意图Intent(通常用于弹出一个Activity)。你还可以对通知进行配置,用设备提供的声音、振动、闪光来提醒用户。
当后台服务(Service)需要对某个事件发出提醒并且需要用户响应时,状态栏通知就能发挥作用了。后台服务从来不会启动Activity来接收用户的交互,取而代之的是应该创建一个状态栏通知,在用户点选后再由通知来启动Activity。
Activity或者Service都能初始化一个状态栏通知。可因为Activity只有在活动状态并获得焦点时才能执行操作,所以在实际开发中使用Service来创建状态栏通知居多。这样,即使用户正在使用其他程序或者设备已经休眠时,仍然可以从后台创建通知。要创建一个通知,须用到两个类:Notification类和NotificationManager类。
NotificationManager是一个Android系统服务,用于管理和运行所有通知。NotificationManager不能被实例化,为了把Notification传给它,你可以用getSystemService()方法获取一个NotificationManager的引用。在需要通知用户时再调用notify()方法将Notification对象传给它。
创建Notivication通知步骤:
(1)获取NotificationManager的引用
[java] view plaincopy
NotificationManager notificationManager=(NotificationManager)
super.getSystemService(Context.NOTIFICATION_SERVICE);
(2)实例化Notification
[java] view plaincopy
Notification notification=new Notification(
R.drawable.ic_launcher,
"Notification消息提示!",
System.currentTimeMillis());
(3)指定通知的展开信息和Intent
[java] view plaincopy
PendingIntent intent=PendingIntent.getActivity(
this,
0,
super.getIntent(),
PendingIntent.FLAG_UPDATE_CURRENT);
tification.setLatestEventInfo(
this,
"跟我学yoheshow",
"尤伊秀服饰网www.yoheshow.com",
intent);
(4)将Notification对象传给NotificationManager
[java] view plaincopy
notificationManager.notify(
"Genwoxue",
R.drawable.ic_launcher,
notification);
如果想要发送状态栏通知,通过notify(int, Notification)传递Notification对象给NotificationManager即可。第一个参数是Notification 的唯一ID,第二个参数是Notification对象。ID在整个应用程序范围内唯一标识Notification。应用程序可能管理着多种不同的通知,在用户通过各自定义的Intent返回应用程序时必须能选择正确的动作执行之,因此上述参数是必需的。
当后台服务(Service)需要对某个事件发出提醒并且需要用户响应时,状态栏通知就能发挥作用了。后台服务从来不会启动Activity来接收用户的交互,取而代之的是应该创建一个状态栏通知,在用户点选后再由通知来启动Activity。
Activity或者Service都能初始化一个状态栏通知。可因为Activity只有在活动状态并获得焦点时才能执行操作,所以在实际开发中使用Service来创建状态栏通知居多。这样,即使用户正在使用其他程序或者设备已经休眠时,仍然可以从后台创建通知。要创建一个通知,须用到两个类:Notification类和NotificationManager类。
NotificationManager是一个Android系统服务,用于管理和运行所有通知。NotificationManager不能被实例化,为了把Notification传给它,你可以用getSystemService()方法获取一个NotificationManager的引用。在需要通知用户时再调用notify()方法将Notification对象传给它。
创建Notivication通知步骤:
(1)获取NotificationManager的引用
[java] view plaincopy
NotificationManager notificationManager=(NotificationManager)
super.getSystemService(Context.NOTIFICATION_SERVICE);
(2)实例化Notification
[java] view plaincopy
Notification notification=new Notification(
R.drawable.ic_launcher,
"Notification消息提示!",
System.currentTimeMillis());
(3)指定通知的展开信息和Intent
[java] view plaincopy
PendingIntent intent=PendingIntent.getActivity(
this,
0,
super.getIntent(),
PendingIntent.FLAG_UPDATE_CURRENT);
tification.setLatestEventInfo(
this,
"跟我学yoheshow",
"尤伊秀服饰网www.yoheshow.com",
intent);
(4)将Notification对象传给NotificationManager
[java] view plaincopy
notificationManager.notify(
"Genwoxue",
R.drawable.ic_launcher,
notification);
如果想要发送状态栏通知,通过notify(int, Notification)传递Notification对象给NotificationManager即可。第一个参数是Notification 的唯一ID,第二个参数是Notification对象。ID在整个应用程序范围内唯一标识Notification。应用程序可能管理着多种不同的通知,在用户通过各自定义的Intent返回应用程序时必须能选择正确的动作执行之,因此上述参数是必需的。
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
2015-03-22
展开全部
摘自Android Developer对4.3新API的介绍
Notification Listener
Android 4.3 adds a new service class, NotificationListenerService, that allows your app to receive information about new notifications as they are posted by the system.
If your app currently uses the accessibility service APIs to access system notifications, you should update your app to use these APIs instead.
我一个月之前听某个Podcast里头提到过这件事,说的是Light Flow这个个性化呼吸灯表现的app,在目前的系统下都只能靠accessibility service API实现拦截通知,然后Android的开发团队直接联系了这个App的开发团队,告诉了他们下个版本的Android中会有一个新的API可以不借助accessibility service API来获取通知。
Notification Listener
Android 4.3 adds a new service class, NotificationListenerService, that allows your app to receive information about new notifications as they are posted by the system.
If your app currently uses the accessibility service APIs to access system notifications, you should update your app to use these APIs instead.
我一个月之前听某个Podcast里头提到过这件事,说的是Light Flow这个个性化呼吸灯表现的app,在目前的系统下都只能靠accessibility service API实现拦截通知,然后Android的开发团队直接联系了这个App的开发团队,告诉了他们下个版本的Android中会有一个新的API可以不借助accessibility service API来获取通知。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-03-22
展开全部
没有什么用的,可以忽略这个功能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询