从通知打开选项卡 activity 时动态显示特定选项卡
Dynamically show specific tab when opening a tabbed activity from notification
我有一个在按下通知时打开主 Activity 的方法。要打开的 Activity 是一个带有三个选项卡的选项卡式 Activity。我怎样才能让它打开标签 nr。例如 2?
这是我的代码:
private void sendNotification(int antal, String msg) {
mNotificationManager = (NotificationManager)
ctx.getSystemService(Context.NOTIFICATION_SERVICE);
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ctx);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("NEW_INTENT", true);
editor.commit();
// MainActivity will open -> how do I show a specific tab?
Intent intent = new Intent(ctx, dk.gis34.borgertip.activity.MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("FORCE_REFRESH", true);
PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, intent, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(ctx)
.setSmallIcon(R.mipmap.ic_launcher)
.setAutoCancel(true)
.setContentTitle(ctx.getString(R.string.app_name))
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
Notification n = mBuilder.build();
n.number = antal;
mNotificationManager.notify(NOTIFICATION_ID, n);
}
当你在PendingIntent
中传递activityIntent
时,使用putExtras()
添加要选择的标签位置,并在[=13=中获取此值] activity 的方法并处理 Tab 的位置以选中。
我有一个在按下通知时打开主 Activity 的方法。要打开的 Activity 是一个带有三个选项卡的选项卡式 Activity。我怎样才能让它打开标签 nr。例如 2?
这是我的代码:
private void sendNotification(int antal, String msg) {
mNotificationManager = (NotificationManager)
ctx.getSystemService(Context.NOTIFICATION_SERVICE);
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ctx);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("NEW_INTENT", true);
editor.commit();
// MainActivity will open -> how do I show a specific tab?
Intent intent = new Intent(ctx, dk.gis34.borgertip.activity.MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("FORCE_REFRESH", true);
PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, intent, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(ctx)
.setSmallIcon(R.mipmap.ic_launcher)
.setAutoCancel(true)
.setContentTitle(ctx.getString(R.string.app_name))
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
Notification n = mBuilder.build();
n.number = antal;
mNotificationManager.notify(NOTIFICATION_ID, n);
}
当你在PendingIntent
中传递activityIntent
时,使用putExtras()
添加要选择的标签位置,并在[=13=中获取此值] activity 的方法并处理 Tab 的位置以选中。