关于android的Notification的若干问题
2016-01-12 19:59
561 查看
毕业工作已经快半年了,打算在2016年开始总结自己平时在工作终于到的android方面的问题。今年遇到的第一个问题就是关于android的通知栏的问题。
在创建Notification的时候,总共有三种不同的方式。
(1)普遍的创建方式(通用)setLatestEventInfo(Context,”“,content,pendingIntent);
(2)在API11以后的创建方式。NotificationCompat.getNotification()
(3)在API11以后的创建方式。NotificationCompat.build()
在创建Notification当然也可以指定自己的布局文件。比如音乐播放器的Notification。当然创建自定义布局的Notification不在本文的讨论范围内。
我今天要说的是如何在通知中显示若干行内容。我们做常见的通知是这样的。如图1
我今天要实现的样式:
代码如下:
*
*
在上面的生成Notification加了个逻辑判断,即当前的系统是否是小米系统,如果是小米系统则只能按照第一种方法创建Notification。
第一次写博客,写的不好,望海涵。
以下是参考文献:
1./article/1832516.html
2.http://www.2cto.com/kf/201502/374946.html
3.http://stackoverflow.com/questions/14602072/styling-notification-inboxstyle
在创建Notification的时候,总共有三种不同的方式。
(1)普遍的创建方式(通用)setLatestEventInfo(Context,”“,content,pendingIntent);
(2)在API11以后的创建方式。NotificationCompat.getNotification()
(3)在API11以后的创建方式。NotificationCompat.build()
在创建Notification当然也可以指定自己的布局文件。比如音乐播放器的Notification。当然创建自定义布局的Notification不在本文的讨论范围内。
我今天要说的是如何在通知中显示若干行内容。我们做常见的通知是这样的。如图1
我今天要实现的样式:
代码如下:
*
private void createNotification(int id,String title,String content) { BitmapDrawable drawable = ((BitmapDrawable)(getResources().getDrawable(R.drawable.ic_launcher))); Bitmap bitmap = drawable.getBitmap(); Intent intent = new Intent(NNApplication.getInstance(), ClickNotificationReceiver.class); intent.putExtra(ORDER_ID,orderId); //intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent pendingIntent = PendingIntent.getBroadcast(NNApplication.getInstance(), id, intent, PendingIntent.FLAG_CANCEL_CURRENT); NotificationManager manager = (NotificationManager) NNApplication.getInstance().getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = null; if(!CommonUtils.checkIsXiaoMi()) { NotificationCompat.Builder builder = new NotificationCompat.Builder(NNApplication.getInstance()); notification = builder.setTicker(“XXXXX”).setContentTitle(“XXXXX”) .setSmallIcon(R.drawable.ic_launcher).setLargeIcon(bitmap).setWhen(System.currentTimeMillis()) .setStyle(new NotificationCompat.BigTextStyle().bigText(“采薇采薇,薇亦柔止。曰归曰归,心亦忧止。 忧心烈烈,载饥载渴。我戍未定,靡使归聘。”) ).setContentIntent(pendingIntent).setPriority(Integer.MAX_VALUE). setWhen(System.currentTimeMillis()).build(); } else { notification = new Notification(); notification.icon = R.drawable.ic_launcher; notification.tickerText = “XXX”; notification.when = System.currentTimeMillis(); notification.contentIntent = pendingIntent; notification.setLatestEventInfo(NNApplication.getInstance(),”XXX”,content,pendingIntent); } //用于当点击完通知以后,直接使通知消失。 notification.flags = Notification.FLAG_AUTO_CANCEL; notification.defaults = Notification.DEFAULT_SOUND; manager.notify(1, notification); }
*
在上面的生成Notification加了个逻辑判断,即当前的系统是否是小米系统,如果是小米系统则只能按照第一种方法创建Notification。
第一次写博客,写的不好,望海涵。
以下是参考文献:
1./article/1832516.html
2.http://www.2cto.com/kf/201502/374946.html
3.http://stackoverflow.com/questions/14602072/styling-notification-inboxstyle
相关文章推荐
- Android----PinnedSectionListView
- Android开发 - 下拉刷新和分段头悬停列表
- Android系统设置【android.provider.settings】
- 关于动态布局的时候调整布局的错误(一)
- android的adb命令
- Android studio 上 EventBus的初步使用
- 30.Android之百度地图简单学习
- Android将程序崩溃信息保存本地文件以及上传到服务器
- Android 5.x Theme 与 ToolBar 实战
- android (获取验证码)倒计时按钮或者TextView
- Android WebView JS不能调用Java对象的问题
- android.view.InflateException 异常处理
- Android组件:Fragment切换后保存状态
- Android加载图片内存溢出问题解决方法
- Android学习笔记day2——Menus
- Android 反射应用---控制Dialog dismiss
- Pomelo-Android 开发笔记-1
- Android Studio——getWritableDatabase()和getReadableDatabase()的区别
- Android getWidth和getMeasuredWidth的理解
- android中下拉刷新的例子android-Ultra-Pull-To-Refresh 源码解析