分为2步完成创建
1、Notification.Builder 对象创建
builder= new Notification.Builder(this);
builder.setContentTitle("标题")
builder.setContentText("内容信息")
builder.setSmallIcon("右侧小图标")
builder.setLargeIcon("左侧大图标")
builder.setNumber("数字显示在右下角")
builder.setPicture("显示大图")
builder.setOngoing(true) //永久驻留
2、NotificationManager 对象创建
nm=(NotificationManager)getSystemService(NOTIFICATION SERVER);
//显示通知ID信息
nm.notify(ID,builer.build());
//清除通知ID信息
nm.cancel(ID)
//清除所有ID信息
nm.cancelAll();
自定义Notification
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自定义内容" android:textColor="#F00" android:textSize="20sp" android:gravity="center" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/smile" android:layout_gravity="center" /> </LinearLayout>
RemoteViews 视图容器
支持的布局:FrameLayout
LinearLayout
RelativeLayout
支持的控件:AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
package mobile.android.custom.notification; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.RemoteViews; public class Main extends Activity { private NotificationManager mNotificationManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); } public void onClick_ShowNotification(View view) { RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification); remoteViews.setTextViewText(R.id.textview, "更新自定义内容"); Notification.Builder builder = new Notification.Builder(this) .setSmallIcon(R.drawable.smile).setContent(remoteViews); mNotificationManager.notify(1, builder.build()); } }