2017-06-12 17 views
0

システムトレイで通知をクリックするとランチャーのアクティビティが検出されます。システムトレイの通知をクリックしてランチャーアクティビティが開始されたかどうかを確認する方法Firebase

+0

あなたが通知を作成して送信しているどこから? – jaibatrik

+0

@jaibatrikはfirebaseコンソールから言うことができます。 –

+0

私はいくつかのカスタムデータペイロードを送信し、それをクライアントのonMessageReceivedメソッドで処理する必要があると思います。ペイロードに基づいてアクティビティのPendingIntentを生成します。 – jaibatrik

答えて

2

これは、firebaseコンソールで事前に使用可能なキーと値のペア(ペイロードデータ)を送信する必要があります。

通知をクリックすると、キーを使用して価値が得られます。

例: - "Id"をキーとして使用すると、このようなIdの値が得られます String id = getIntent()。getStringExtra( "Id");

getIntent()。getExtras()がnullの場合、アクティビティは通知からオープンされていません。それ以外の場合はシステム・トレイの通知からオープンされます。

0

これを行うには、DATAというメッセージを使用してください。 onMessageReceived()メソッドを呼び出します。あなたはその上でそれを扱うことができます。

通知メッセージを使用しないでください。

通知メッセージはそうあなたが()getIntentを使用する必要がシステムトレイで取り扱うです。スプラッシュ活動やMOV ..上getExtras()

ので、簡単な解決策はこれです。

{ 
      "registration_ids": [ 
          "fcm token 1", 
          "fcm token 2", 
          "fcm token 3" 
         ], 
      "data": { 
        "message": "msg" 
        } 
     } 

@Override 
    public void onMessageReceived(RemoteMessage remoteMessage) { 

    String = remoteMessage.getData().get("message"); 
    // and more keys 
// same as get your message and manage click event over here. 

    }