notification使用中跳转时的问题?
我在A activity中写了个service,在service中生成了一个notification,点击这个通知后跳转到A activity中,一开始时,不是跳转到A activity中,而是直接生成了个A activity,这样就有两个了。后来给 A activity加了android:launchMode="singleTask" ,然后 PendingIntent 时加了intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 这样的话 点击通知是转到A activity中了。但是我在intent 中是加了参数的,在A activity中拿不到参数,这么办呢?99我吧。
service.java中代码大致上是这样
NotificationManager nmanarer = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon, tickertext, System.currentTimeMillis());
PendingIntent pt = null;
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
notificationid = 1001;
intent.setClass(this, MainTabActivity.class);
intent.putExtra("notificationid", notificationid);
pt = PendingIntent.getActivity(this, num, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(this, title, content, pt);
nmanarer.notify(notificationid, notification);
protected void onResume() {
super.onResume();
Log.i(TAG,"maintabactivity onResume");
Intent intent = getIntent();
if(intent != null){
CURMODE = intent.getIntExtra("curmode", CURMODE_HOMELIST);
MSGMODE = intent.getIntExtra("msgmode", MessageGroupActivity.MODE_MYPOST);
notificationId = intent.getIntExtra("notificationId", 0);
Log.i(TAG,"----notificationId="+notificationId + " CURMODE="+CURMODE);
}else{
Log.i(TAG, "the intent is null");
}
if(notificationId != 0){
NotificationManager nmanarer = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Log.i(TAG,"notificationId---"+notificationId);
nmanarer.cancel(notificationId);
}
}