Android 发送带有未决 Intent 的额外内容

Android sending extra's with pending Intent

对于我的推送通知,我正在发送一些数据,然后我将选择要打开的片段。我试图通过向待定意图添加一个额外的意图来做到这一点,但是每当我尝试在下一个 Activity 中使用这个额外的内容时,它 returns NULL。

我在这里读到我需要更改 PendingActivity 标志,但我已经更改了几次,但没有任何区别。我一定是在某个地方犯了一个愚蠢的错误。

    private void sendNotification(String title, String msg, String fragment) {
    mBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.logo_m_white)
//          .setLargeIcon(((BitmapDrawable) getResources().getDrawable(R.drawable.icon_filled_m)).getBitmap())
            .setContentTitle(title)
            .setContentText(msg)
            .setSound(Uri.EMPTY)
            .setPriority(1)
            .setLights(Color.RED, 300, 5000)
            .setAutoCancel(true);
    Intent intent = new Intent(this, LoginActivity.class);
    intent.putExtra("fragment", fragment);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent pi = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);
    mBuilder.setContentIntent(pi);
    mNotificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(0, mBuilder.build());
}

使用 intent extras 在您的 LoginActivity 中获取 extras

    Intent intent = getIntent() ;
    if(intent != null){
        String fragment = intent.getStringExtra("fragment"); //if 'fragment' type is String (see other methods for appropriate type)
    }