从通知打开选项卡 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 的位置以选中。