android Notification 通知栏点击不能跳转(转自:http://www.oschina.net/question/778954_212394)
roid Notification 通知栏点击不能跳转
关于通知栏Notification的使用,不多讲,这里说的很清楚http://www.cnblogs.com/zenfly/archive/2012/02/09/2343923.html
先说下我遇到的问题:
在应用关闭的时候,发送通知到通知栏,点击通知栏能正常跳转到我想要的页面,代码如下
1 2 3 4 5 6 7 8 | 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()); |
1 2 3 4 5 6 7 | 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()); |
1 2 3 4 | <activity android:name= ".activity.FragmentActivity" android:taskAffinity= "" > </activity> |
设置栈,可以正常响应我的通知栏意图了,但是新的问题出现了,当我按下Home键回到桌面的时候,在回来,就不能打开按下之间的页面了,不同的栈,,,,,
-------问题总是有的,于是换了一种折中的解决方案
1 2 3 4 5 | Intent msgIntent = new Intent(); msgIntent.setAction(IntentAction.ACTION_TRIP_APPROVE); UITools.showNotificationBroadcast(context, Notify.NORMAL, msgIntent, jsonBean.getMessageTitle()); //这里是发送广播哦 |
1 | PendingIntent pendingIntent = PendingIntent.getBroadcast( this , count, intent, PendingIntent.FLAG_UPDATE_CURRENT); |
1 | intent.setData(Uri.parse( "abc" )); |
1 | PendingIntent pendingIntent = PendingIntent.getBroadcast( this , requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); |
标红的地方是重点,为每个意图设置不同的requestCode,Flag设置为更新当前
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。