Androidg关于新建通知栏的封装及遇到的那些坑

今天给大家介绍关于通知栏的基本封装和遇到的一些坑,有人会问,通知栏还有什么坑呢?我用的好好的。 其实在今天以前我一直用都没什么问题,但是就在今天,后台用极光推送给我推送了一条消息,消息内容是:xxxxxx!。大伙看到这肯定觉得没什么吧。。。。。马丹 提前剧透了,,先聊聊通知栏的封装,很简单,直接一个工具类:

  /**
 * 创建通知,  * 请在调用此方法时开启子线程
 *
 * @param context    上下文
 * @param icon       通知图片
 * @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_CLEAR_TOP);
    //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)
            .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();
    }
}

参数具体说明上面都写出来 了,如果还有不懂的欢饮留言,文章到此就画上句号了。。。。。。。。。。。艾玛,,忘记了要说是什么坑了。
请拿起手中的笔,认真做下笔记,文首说到后台给我推送了一条消息,消息内容是:“xxxxxxx!”,看上去就没什么毛病吧,然后我愉快的把这个内容写到上文提到的工具类中,嗯?通知呢?为什么显示不出来,机智的我开始debug,d d d,一步步把方法都走了一遍,可是还是没发现有什么问题,无奈,我只要傻瓜式搜索(百度、谷歌),可是都没找到什么有用的线索,经过一系列排查后,我将目标锁定到了内容上,我慢慢的改变内容的值,最后得出一个结论:内容不能包含有感叹号(包括中文和英文),得出这个结论我也是很纳闷啊。也没心思去管那些,抓紧完成项目,有兴趣的小伙伴可以查看源码,猜测是做了一些处理。不知道在别的手机上允不允许有这个,反正我女二号(魅族)说不行。

有什么最新的发现欢迎文章下方留言,也可以加我们的qq群:633600411,一起讨论、学习、进步

你可能感兴趣的:(Androidg关于新建通知栏的封装及遇到的那些坑)