对于我的推送通知,我发送了一些数据,然后我将选择要打开的片段。我试图通过向Pending Intent添加一个Intent Extra来做到这一点,但每当我尝试在下一个Activity中使用这个额外的时候,它都会返回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());
}
答案 0 :(得分:0)
使用intent extras
在LoginActivity中获取额外内容 Intent intent = getIntent() ;
if(intent != null){
String fragment = intent.getStringExtra("fragment"); //if 'fragment' type is String (see other methods for appropriate type)
}