开发者

Cannot open first notification but opens for the rest

I have some kind of SMS application. So everytime the phone received a new message, it should have a notification and upon clicking it, will launch the activity. Right now, when receiving 1 message, it notifies, removes in the status bar and doesn't not launch the activity. But when receiving 2 or more messages, the first notification cannot launched upon clicking while the rest(2nd, 3rd notification...) can. 开发者_StackOverflow中文版Below are my codes.


Intent newIntent = new Intent(context, PreviewActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK+0);
newIntent.setAction(strFxPrimaryKey);

Bundle newBundle = intent.getExtras(); newBundle.putInt(GlobalConstants.PRIMARY_ID, Integer.parseInt(strFxPrimaryKey)); newIntent.putExtras(newBundle);

int icon = R.drawable.notification_fx; CharSequence tickerText = context.getString(R.string.fx_received); long when = System.currentTimeMillis();

Notification newNotification = new Notification(icon, tickerText, when); newNotification.flags |= Notification.FLAG_AUTO_CANCEL; //| Notification.FLAG_ONGOING_EVENT;

PendingIntent contentIntent = PendingIntent.getActivity(context, Integer.parseInt(strFxPrimaryKey), newIntent, 0); newNotification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

String newNotificationService = Context.NOTIFICATION_SERVICE; NotificationManager newNotificationManager = (NotificationManager) context.getSystemService(newNotificationService); newNotificationManager.notify(Integer.parseInt(strFxPrimaryKey), newNotification);

context.startActivity(newIntent); context.removeStickyBroadcast(intent);

Based on the answers here in the stackoverflow, to create a unique intent, it should have unique action that's why I set the primary key as the action. I also set the request code to primary key to have a unique pending intent. Is there something missing out in my code? Thanks.

EDITED By the way, whenever I remove the context.startActivity(newIntent);, it works right. Can anyone tell me why? Thanks.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜