安卓消息通知类,分别是发送消息、更新消息、删除消息的例子:
class NotifyEx {
private Notification notify;
private Context mContext;
private NotificationManager Nm;
private Intent intent;
private static int NOTIFITY_ID = 0x123;
private static final String TAG = "NotifyEx";
private static int count = 1;
public NotifyEx(Context c){
mContext = c;
Nm = (NotificationManager)c.getSystemService(Context.NOTIFICATION_SERVICE);
}
/**
* 发送通知消息
* @param cls 需要启动的Class
* @param Ticker 通知标题
* @param title 消息标题
* @param context 消息内容
* @return
*/
public boolean send(Class<?> cls,String Ticker,String title,String context){
intent = new Intent(mContext,cls);
PendingIntent pi = PendingIntent.getActivity(mContext,0,intent,0);
notify = new Notification.Builder(mContext)
.setAutoCancel(true)
.setTicker(Ticker)//通知标题
.setSmallIcon(R.drawable.notice_tag)//图标
.setContentTitle(title)//提示标题
.setContentText(context)//提示内容
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)//系统默认的声音
// .setSound(Uri.parse("android.resource://com.lanxin.ui"+R.raw.msg)).setWhen(System.currentTimeMillis())自定义声音
.setContentIntent(pi).build();
Nm.notify(NOTIFITY_ID,notify);
Log.i(TAG,String.valueOf(NOTIFITY_ID));
return true;
}
/**
* 发送第二条消息(消息通知更新)
* @param cls 需要启动的class
* @param Ticker 通知标题
* @param title 消息标题
* @param context 消息内容
* @return
*/
public boolean update(Class<?> cls,String Ticker,String title,String context){
count++;
intent = new Intent(mContext,cls);
PendingIntent pi = PendingIntent.getActivity(mContext,0,intent,0);
notify = new Notification.Builder(mContext)
.setAutoCancel(true)
.setTicker("您有"+count+"条信息未读")//通知标题
.setSmallIcon(R.drawable.notice_tag)//图标
.setContentTitle(title)//提示标题
.setContentText(context)//提示内容
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)//系统默认的声音
// .setSound(Uri.parse("android.resource://com.lanxin.ui"+R.raw.msg)).setWhen(System.currentTimeMillis())自定义声音
.setContentIntent(pi).build();
Nm.notify(NOTIFITY_ID,notify);//只要这个ID是一样的就可以更新
Log.i(TAG,String.valueOf(NOTIFITY_ID));
Log.i(TAG, String.valueOf(count));
return true;
}
public boolean del(){
Nm.cancel(NOTIFITY_ID);
Log.i(TAG, String.valueOf(NOTIFITY_ID));
return true;
}
/**
* 返回当前消息条数
* @return
*/
public int getCount(){
return count;
}
}

