您的位置:首页 > 移动开发 > Android开发

Android Notification 通知封装成工具类

2016-09-09 14:51 381 查看
public class NotificationUtils {  

  

    private static NotificationManager mNotificationManager;  

    private static Notification notification;  

  

    /** 

     * 创建通知,  * 请在调用此方法时开启子线程 

     * 

     * @param context    上下文 

     * @param icon       通知图片 

     * @param tickerText 通知未拉开的内容 

     * @param title      通知标题 

     * @param content    通知主内容 

     * @param intent     意图 

     * @param id 

     * @param time       控制线程睡眠时间 

     */  

    public static void createNotif(Context context, int icon, String tickerText, String title, String content, Intent intent, int id, long time) {  

        intent.addCategory(Intent.CATEGORY_LAUNCHER);  

        intent.setAction(Intent.ACTION_MAIN);  

        //intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);  

        PendingIntent pendingIntent = PendingIntent.getActivity(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);  

  

        mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);  

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);  

        mBuilder.setContentTitle(title)  

                .setContentText(content)  

                .setContentIntent(pendingIntent)  

                .setTicker(tickerText)  

                .setWhen(System.currentTimeMillis())  

                .setPriority(Notification.PRIORITY_DEFAULT)  

                .setOngoing(false)  

                .setAutoCancel(true)  

                .setDefaults(Notification.DEFAULT_SOUND)  

                .setSmallIcon(icon);  

  

        notification = mBuilder.build();  

  

        notification.flags = Notification.FLAG_ONGOING_EVENT;  

        notification.flags = Notification.FLAG_AUTO_CANCEL;  

  

        mNotificationManager.notify(id, notification);  

  

        try {  

            Thread.sleep(time);  

        } catch (InterruptedException e) {  

            e.printStackTrace();  

        }  

  

    }  

  

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息