Android 挂起的数据包参数不起作用
我正在使用Firebase进行推送通知。在message received method recd中,我正在创建一个通知以及打开详细信息屏幕的待定意图。下面是用于接收消息的类:Android 挂起的数据包参数不起作用,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,我正在使用Firebase进行推送通知。在message received method recd中,我正在创建一个通知以及打开详细信息屏幕的待定意图。下面是用于接收消息的类: import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.BundleCompat;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import com.i3techs.mtricks.HomeActivity;
import com.i3techs.mtricks.R;
import java.util.Map;
public class FCMMessageService extends FirebaseMessagingService
{
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Log.d("Message Received",remoteMessage.getFrom());
if(remoteMessage.getData().size()>0)
{ Map<String,String> data = remoteMessage.getData();
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.logo_ic)
.setContentTitle(data.get("title"))
.setContentText(data.get("excerpt"));
Intent resultIntent = new Intent(this, HomeActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(HomeActivity.class);
stackBuilder.addNextIntent(resultIntent);
Bundle arguments= new Bundle();
arguments.putBoolean("trickDetail",true);
arguments.putInt("id",new Integer(data.get("id")));
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT,arguments
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(5, mBuilder.build());
}
}
}
我试图从savedInstance获得捆绑的参数,但没有成功。请说明我做错了什么 要将
捆绑包添加到您的意图中
:
Bundle arguments = new Bundle();
arguments.putBoolean("trickDetail", true);
Intent resultIntent = new Intent(this, HomeActivity.class);
resultIntent.putExtras(arguments);
if (getIntent.getBooleanExtra("trickDetail", false)) {
getDetails();
}
要在活动中获取捆绑包
,需要调用getIntent()
:
savedInstanceState
是Android操作系统在销毁活动之前保存的捆绑包(例如回收资源)。谢谢,让我试试,我会告诉你结果。是的,非常感谢。
if (getIntent.getBooleanExtra("trickDetail", false)) {
getDetails();
}