|
清除通知Clear
如果需要把Notification清除(clear),则调用NotificationManager。cancel(Notification的 ID),或者直接NotificationManager。clearAll()清除所有。也可以添加Notification对象的 FLAG_AUTO_CANCEL属性来自动清除。
更新通知Update the notification
可以通过notification对象的setLatestEventInfo()方法来修改/更新信息,也可以通过其他函数来修改notification对象的属性,最后是调用NotificationManager。notify(原来的ID, 修改/更新后的notification对象)完成的。
java代码:
//修改Title & content
mNotification.setLatestEventInfo(
getApplicationContext(),"Notification update", // Title
"This is the second notification", //content
contentIntent);
//修改Icon
mNotification.icon = R.drawable.robot;
//设置自动清除
mNotification.flags |= Notification.FLAG_AUTO_CANCEL;
//重新发出通知
mNotificationManager.notify(R.id.notice1, mNotification);
复制代码
自定义view的Notification
首先定义Layout xml文件(notifylayout.xml):
java代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/notify_layout"
androidrientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dp"
>
<ImageView
android:id="@+id/notify_image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>
<TextView
android:id="@+id/notify_text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#000"
/>
</LinearLayout>
复制代码
然后使用RemoteView加载Layout,并设置Image,Text:
java代码:
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notifylayout);
contentView.setImageViewResource(R.id.notify_image, R.drawable.robot);
contentView.setTextViewText(R.id.notify_text, "Hello, this message is in a custom expanded view");
Notification notification = new Notification(
R.drawable.icon, //icon
"Notification", // 状态栏上显示的提示文字
System.currentTimeMillis());
notification.contentIntent = contentIntent;
notification.contentView = contentView; //就是这里不同,set view
// 以R.layout.notify_layout为ID
mNotificationManager.notify(R.layout.notifylayout, notification);
复制代码
对话框通知Dialog Notification
一个对话框通常是出现在当前活动前面的一个小窗口。背后的活动丢失焦点而由这个对话框接受所有的用户交互。对话框通常用做和运行中应用程序直接相关的通知和短暂活动。
系列之Android 深入解析用户界面(一)的帖子链接http://www.eoeandroid.com/thread-103258-1-1.html
系列之Android 深入解析用户界面(二)的帖子链接http://www.eoeandroid.com/thread-103259-1-1.html
系列之Android 深入解析用户界面(三)的帖子链接http://www.eoeandroid.com/thread-103263-1-1.html
系列之Android 深入解析用户界面(四)的帖子链接http://www.eoeandroid.com/thread-103266-1-1.html
系列之Android 深入解析用户界面(五)的帖子链接http://www.eoeandroid.com/thread-103437-1-1.html
系列之Android 深入解析用户界面(六)的帖子链接http://www.eoeandroid.com/thread-103438-1-1.html
系列之Android 深入解析用户界面(七)的帖子链接http://www.eoeandroid.com/thread-103445-1-1.html
系列之Android 深入解析用户界面(八)的帖子链接http://www.eoeandroid.com/thread-103448-1-1.html
系列之Android 深入解析用户界面(九)的帖子链接http://www.eoeandroid.com/thread-105421-1-1.html
系列之Android 深入解析用户界面(十一)的帖子链接http://www.eoeandroid.com/thread-105434-1-1.html
系列之Android 深入解析用户界面(十二)的帖子链接http://www.eoeandroid.com/thread-103461-1-1.html |
|