package com.xiaweizi.qnews.commons; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.util.Log; import com.xiawei.webviewlib.WebViewActivity; import com.xiaweizi.qnews.R; import com.xiaweizi.qnews.activity.MainActivity; import com.xiaweizi.qnews.activity.SplashActivity; import com.xiaweizi.qnews.bean.MessageBean; /** * 功能描述: 通知栏工具 * 类名: com.xiaweizi.qnews.commons.NotificationUtils * 创建者: 夏韦子 * 创建时间: 2017/4/24 13:42 * 项目名称: QNews */ public class NotificationUtils { private Context mContext; private NotificationManager mManager; public NotificationUtils(Context context){ this.mContext = context; mManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); } public void normalNotify(MessageBean bean){ Log.i("xwz--->", "NotificationUtils: " + "normalNotify: " + bean.toString()); int messageType = bean.type; Log.i("xwz--->", "NotificationUtils: " + "messageType: " + messageType); Intent intent = new Intent(); switch (messageType){ case 0: intent.setClass(mContext, MainActivity.class); break; case 1: intent.setClass(mContext, SplashActivity.class); break; case 2: intent.setClass(mContext, WebViewActivity.class); break; } intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent contentIntent = PendingIntent.getActivity(mContext, 0,intent, PendingIntent.FLAG_UPDATE_CURRENT); Notification.Builder builder = new Notification.Builder(mContext); builder.setContentTitle("趣闻"); builder.setContentText(bean.content); builder.setContentIntent(contentIntent); Notification notification = builder.build(); notification.icon = R.mipmap.receiver; notification.defaults = Notification.DEFAULT_LIGHTS; notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.when = System.currentTimeMillis(); // 显示在状态栏中的文字 notification.tickerText = bean.content; mManager.notify(0, notification); } }