0

のonNewIntent方法で私のバンドルのデータを得ることはありませんが、私のコードです:私は私FireBaseServiceにプッシュ通知を取得し、私はそれが以下、MainActivityへのデータだ送りたいMainActivity

 Intent intent = new Intent("PUSH_NOTIFICATION"); 
    intent.setClassName(this, MainActivity.class.getName()); 
    Bundle bundle = new Bundle(); 
    bundle.putParcelable("data", data); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.putExtra("notification bundle", bundle); 
    startActivity(intent); 

onNewIntent()が呼び出されますが、私はそれを解析すると、それは私にヌルデータを与えます。私は何か悪いことをしましたか?

ありがとうございます。

編集:私のMainActivityの起動モードがsingleTopである(それの同じインスタンスを取得するために)

答えて

0

私は最近、私のアプリでFirebase通知を実装していると私は同じ問題に直面していました。この問題は、Firebaseコンソールとアプリから送信された通知が、バックグラウンドで、onMessageReceivedメソッドが呼び出されず、onNewIntent()メソッドがnullを返すときに発生しました。

PostMan(RestApiクライアント)を介して同じペイロードでプッシュ通知を送信してみます。受信者のonMessageRecievedメソッドでデータを受信して​​取得できます。

+0

ありがとうございます。しかし、onMessageReceivedと問題なしでデータを受け取ります)、それに問題がある場合は後でお手伝いできますが、これは私の問題ではありません – MehDi

+0

firebaseコンソールからデータを送信していますか?また、onMessageReceievedが呼び出された場合は、このメソッドを使用してアプリのフローをさらに定義することができます。 onNewIntentの必要はありません – Aditi

0

私はStackoverflowのどこかでBundlesにParcelable Objectsの問題があり、Byte配列に変換してBundlesにバインドしてテストしていないが、JSON文字列それを解析してパーセル化可能なオブジェクトを送信するのではなく、onNewIntent()メソッドで解析します。

関連する問題