在做应用的时候用到了通知,在状态栏中点击相应的通知,跳转到对应的Activity,但是当前主Activity是TabActivity,跳转到对应的Tab页时看不到Tabwidet。最后才想起pendingIntent中包裹的Intent是可以携带参数的。
public static void showNotification(Context context, String showContent ,String fromwhere ,String values){
NotificationManager manager =(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.headportrait, showContent, System.currentTimeMillis());
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
notification.ledARGB = 0xff00ff00;
notification.ledOnMS = 300;
notification.ledOffMS = 1000;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Intent launchIntent = new Intent(context, NewAgricultureFlowActivity.class);
launchIntent.putExtra(fromwhere, values);
PendingIntent spreadIntent = PendingIntent.getActivity(context, 0, launchIntent, 0);
notification.setLatestEventInfo(context, "短信", showContent, spreadIntent);
manager.notify(1, notification);
}
在TabActivity的onCreate方法中加入以下代码
Intent intent = this.getIntent();
if(Constant.INTERSMSNOTIFICATION_VALUES.equals(intent.getStringExtra(Constant.RECEIVERFROMWHERE_FLAG))){
mTabHost.setCurrentTabByTag(Constant.NEWAGRICULTUREFLOW_INTERACTIVE_INDEX);
}else if(Constant.MMSNOTIFICATION_VALUES.equals(intent.getStringExtra(Constant.RECEIVERFROMWHERE_FLAG))){
mTabHost.setCurrentTabByTag(Constant.NEWAGRICULTUREFLOW_MMS_INDEX);
}else{
mTabHost.setCurrentTabByTag(Constant.NEWAGRICULTUREFLOW_SMS_INDEX);
}