关于通知栏Notification的使用,不多讲,这里说的很清楚http://www.cnblogs.com/zenfly/archive/2012/02/09/2343923.html

先说下我遇到的问题:

在应用关闭的时候,发送通知到通知栏,点击通知栏能正常跳转到我想要的页面,代码如下

Intent msgIntent = new Intent();msgIntent.addCategory(Intent.CATEGORY_LAUNCHER);msgIntent.setComponent(new ComponentName(context.getPackageName(), "com.test.FragmentActivity"));msgIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);// 关键的一步,设置启动模式UITools.showNotification(context, Notify.NORMAL, msgIntent, jsonBean.getMessageTitle());

在应用打开的情况下,发送通知,代码如下:

Intent msgIntent = new Intent();msgIntent.setClass(context, FragmentActivity.class);msgIntent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);// 关键的一步,设置启动模式UITools.showNotification(context, Notify.NORMAL, msgIntent, jsonBean.getMessageTitle());

以上这段代码,出现了不能跳转的情况,于是,做了如下操作解决上述问题

   

设置栈,可以正常响应我的通知栏意图了,但是新的问题出现了,当我按下Home键回到桌面的时候,在回来,就不能打开按下之间的页面了,不同的栈,,,,,

-------问题总是有的,于是换了一种折中的解决方案

Intent msgIntent = new Intent();msgIntent.setAction(IntentAction.ACTION_TRIP_APPROVE);UITools.showNotificationBroadcast(context, Notify.NORMAL, msgIntent, jsonBean.getMessageTitle());  //这里是发送广播哦

设置通知栏的意图为发送广播

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, count, intent, PendingIntent.FLAG_UPDATE_CURRENT);

当然,这带来了新的问题,如果我的通知栏需要传递参数怎么办,可以通过如下方式传递

intent.setData(Uri.parse("abc"));

这种可以传递结构化的数据,那我们所谓的bundle就不能使用了么,当然不是,如下

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, requestCode, intent,PendingIntent.FLAG_UPDATE_CURRENT);

粗体黑字的地方是重点,为每个意图设置不同的requestCode,Flag设置为更新当前

转载自:https://www.oschina.net/question/778954_212394

更多相关文章

  1. android应用安装后不显示图标问题分析
  2. mediaplayer实现音乐播放
  3. Android中测量控件的内部文字内容的宽、高度
  4. Android(安卓)中访问网页 webView
  5. Android之发送短信的两种方式
  6. RockChip-3126-8.1SDK去掉下拉状态栏和系统设置中的投射功能
  7. Android——自定义ImageView实现圆形图片
  8. Service显示启动和隐式启动
  9. 说说 Android(安卓)中的通知(Notification)

随机推荐

  1. 无法通过CITRIX STUDIO删除XenDesktop中
  2. 为何说微软不可能断供中国?因为损失可能是
  3. CDH集群大致架构流程图
  4. Python之字符编码
  5. 【css入门】css盒模型及css定位的常用属
  6. php类的引用与mysql基础
  7. 0324作业-flex布局
  8. 【CSS入门】前端布局神器Flex弹性盒模型
  9. flex布局:flex容器中的四个属性的功能,参数
  10. 红帽认证工程师体系是怎样的?