package xyz.yhsj.yhutils.notification;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
public class NotificationUtils {
/**
* 发送不会重复的通知
*
* @param context
* @param title 标题
* @param message 消息
* @param SmallIconId 图标
* @param activity 要启动的类
* @param extras 传递的参数
*/
@SuppressLint("NewApi")
public static void sendNotification(Context context, String title,
String message, int SmallIconId, Class<?> activity, Bundle extras) {
Intent mIntent = new Intent(context, activity);
mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (extras != null) {
mIntent.putExtras(extras);
}
int requestCode = (int) System.currentTimeMillis();
PendingIntent mContentIntent = PendingIntent.getActivity(context,
requestCode, mIntent, 0);
Notification mNotification = new Notification.Builder(context)
.setContentTitle(title).setSmallIcon(SmallIconId)
.setContentIntent(mContentIntent).setContentText(message)
.build();
mNotification.flags |= Notification.FLAG_AUTO_CANCEL;
mNotification.defaults = Notification.DEFAULT_ALL;
NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(requestCode, mNotification);
}
/**
* 清除所有通知
*
* @param context
*/
public static void cancelNotification(Context context) {
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
}