官网的步骤:http://developer.android.com/guide/topics/ui/notifiers/notifications.html
notification是状态栏上的通知。比如来信息了,就会看到状态栏上有个小小的信封样式的图标。点击状态栏向下滑,可以看到这个信息的内容。这就是notification做的~
demo中的相关文件是:IncomingMessage.java,IncomingMessageInterstitial.java,IncomingMessageView.java
步骤:
- 获取NotificationManager对象
- 实例化一个notification对象,这个对象要指定notification显示时的图标、文字和时间
- 设置点击notification后执行的动作:使用一个PendingIntent来启动新的activity;用notification的setLatestEventInfo方法设置发信人、信息和pendingintent
- 使用NotificationManager的notify方法,把notification传给notificationmanager
关于PendingIntent:
(1)通常点击notification后会开启一个新的activity。这需要使用到Intent来launch
(2)普通的Intent通常用于Activity、Service、BroadcastReceiver之间,而且,Intent是立即启动的。我们在这里不能让新的activity立即启动,要点击notification后再启动,因此需要使用PendingIntent。application1创建的PendingIntent可以传递给另一个application2,使application2感觉就像1一样使用这个PendingIntent的数据。即使application1死了,也没有影响。
(3)使用PendingIntent.getActivities来启动新的activities,注意这里是复数形式,表示参数中可以使用Intent数组。如果只用一个Intent,那就用getActivity方法。类似Context.startActivity(Intent)。