标签

Android 44

Android Network security configuration Android 网络配置 Android Camera Preview gradlew 源码分析 Android 动态修改菜单 Android RelativeLayout 之 Gravity 的使用 Android Studio Gradle Download Error Android加载子View 【转】Android打开与关闭软键盘 Android EditText软键盘显示隐藏以及“监听” Android mipmap文件夹 Android 用命令行更新SDK Android Service学习之AIDL, Parcelable和远程服务 Android 5.0设备中,Notification小图标是白色的 Android最佳实践 Android Keystore 文件的密码修改 Android Studio 中加载so库文件 Android 中方法重载遇到的问题 ListView & RecyclerView Google Volley如何缓存HTTP请求文件 Creating logs in Android applications Advanced Android TextView TextView高亮URL地址解析 TextView 高亮URL地址,并实现跳转 Best practices in Android development Android Sdk Manager无法更新问题解决办法 Android ViewPager滑动事件 Google Volley 网络请求框架(一) Andorid UI注入工具的使用(ButterKnife) Android 项目中出现的奇葩bug, 数据NullPointExcption Android Drawable Animation Android 图片的毛玻璃效果 Android之使用Log打印日志 使用Fidder来拦截Android发送的HTTP请求 Android之Webview使用 Android之Notification的使用(二) Android之Notification的使用(一) Android Keyboard Show&Hiden Android 粘贴板的使用 Android中使用.9.png 使用Fidder来拦截Android发送的HTTP请求 Andorid JUnit 单元测试 Activity之间的切换动画 Android ListView中Adapter的使用

Android之Notification的使用(二)

2014年10月12日

Android之Notification的使用(二)

接着上篇文章,解决了一些我在使用Notification的过程中的一些bug。但是解决这些问题是远远不够的。

在上篇文章中,解决了多个Notification跳转到同一个Activity中的问题。 但是那样子做并不能完全解决问题,下面来看一下,我新遇到的问题。

先上代码

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
String currentTime =  DateTimeUtil.formatDateDefault(Calendar.getInstance().getTime());
intent.putExtra("time", currentTime);
int notificationId = (int) System.currentTimeMillis();
PendingIntent pendingIntent= PendingIntent.getActivity(
    this, notificationId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle(currentTime)
        .setContentText("text")
        .setTicker("tricker")
        .setStyle(new NotificationCompat.BigTextStyle().bigText("big text"))
        .setAutoCancel(true)
        .setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager)
		this.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = mBuilder.build();
notification.defaults=Notification.DEFAULT_SOUND;
notification.vibrate = new long[] {100,400,100,400};
notification.ledARGB=Color.GREEN;//led灯颜色
notification.ledOffMS=1000;//关闭时间 毫秒
notification.ledOnMS=1000;//开启时间 毫秒
notification.flags|=Notification.FLAG_SHOW_LIGHTS;
notificationManager.notify(notificationId, notification);

和上一个例子不同的是,这一个Notification跳转的位置并不是OtherActiivty, 而是直接跳转到MainActivity.

问题 非常不幸的事,他并不能够正常接收么Intent传过来的参数。至于为什么,我也不知道。 如您知道这个的具体原因请告知我(邮箱:lovecluo@gmail.com)。

解决办法

虽然不知道是什么原因造成了这个问题,但是最终还是找到了解决方案:

解决方法如下:

@Override
protected void onNewIntent(Intent intent) {
	Log.d(TAG, "[onNewIntent] 执行onNewIntent方法");
	showReciveParams(intent);
}

写在最后

本次试验的代码地址:下载地址:NotificationDemo_02

参考资料

[1] onNewIntent调用时机



友情链接: Hiro's Blog | Junjun's Blog