title: Android app is not receiving FCM notification when closed
body: <p>I am checking <a href="https://firebase.google.com/docs/cloud-messaging/">Firebase Cloud Messaging</a> to send notification. Have implemented it already and its receiving notification when app is in open state. But if I close app, its no longer gives notification. Is there any solution for this.</p>
  
  <p>Code:</p>
  
  <pre><code>WebRequest wRequest;
  wRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
  wRequest.Method = "post";
  wRequest.ContentType = " application/json;charset=UTF-8";
  wRequest.Headers.Add(string.Format("Authorization: key={0}", AppId));
  
  wRequest.Headers.Add(string.Format("Sender: id={0}", SenderId));
  
  string postData = "{\"registration_ids\":[\"" + regIds + "\"], \"data\": "+ value +"}";
  
  Byte[] bytes = Encoding.UTF8.GetBytes(postData);
  wRequest.ContentLength = bytes.Length;
  
  Stream stream = wRequest.GetRequestStream();
  stream.Write(bytes, 0, bytes.Length);
  stream.Close();
  
  WebResponse wResponse = wRequest.GetResponse();
  </code></pre>
  
  <p>Messaging service-</p>
  
  <pre><code>public class MessagingService extends FirebaseMessagingService {
      @Override
      public void onMessageReceived(RemoteMessage remoteMessage) {
          Map&lt;String, String&gt;  data = remoteMessage.getData();
          sendNotification(data);
      }
  
      public void showMessage(Map&lt;String, String&gt;  serverData) {
          Intent i = new Intent(this,MainActivity.class);
          i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  
          PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);
  
          NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                  .setAutoCancel(true)
                  .setContentTitle(serverData.get("Title"))
                  .setContentText(serverData.get("Message"))
                  .setSmallIcon(R.drawable.common_google_signin_btn_icon_dark)
                  .setContentIntent(pendingIntent);
  
          NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
  
          manager.notify(Integer.parseInt(serverData.get("ItemId")),builder.build());
      }
  
      private void sendNotification(Map&lt;String, String&gt;  serverData) {
          Intent intent = new Intent(this, MainActivity.class);
          intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
          PendingIntent pendingIntent = PendingIntent.getActivity(this,0 /* request code */, intent,PendingIntent.FLAG_UPDATE_CURRENT);
  
          long[] pattern = {500,500,500,500,500};
  
          Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
  
          NotificationCompat.Builder notificationBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                  .setSmallIcon(R.drawable.common_google_signin_btn_icon_dark)
                  .setContentTitle(serverData.get("Title"))
                  .setContentText(serverData.get("Message"))
                  .setAutoCancel(true)
                  .setVibrate(pattern)
                  .setLights(Color.BLUE,1,1)
                  .setSound(defaultSoundUri)
                  .setContentIntent(pendingIntent);
  
          NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          notificationManager.notify(Integer.parseInt(serverData.get("ItemId")), notificationBuilder.build());
      }
  
  }
  </code></pre>
  
  <p>Main activity-</p>
  
  <pre><code>public class MainActivity extends AppCompatActivity {
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
         FirebaseMessaging.getInstance().subscribeToTopic("test");
          FirebaseInstanceId.getInstance().getToken();
      }
  }
  </code></pre>
  
  <p>Manifest-</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="test.com.firebasenotify"&gt;
      &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
      &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
      &lt;application
          android:allowBackup="true"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          android:supportsRtl="true"
          android:theme="@style/AppTheme"&gt;
          &lt;activity android:name=".MainActivity"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
  
          &lt;service android:name=".MessagingService"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.firebase.MESSAGING_EVENT" /&gt;
              &lt;/intent-filter&gt;
          &lt;/service&gt;
          &lt;service android:name=".InstanceIDService"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.firebase.INSTANCE_ID_EVENT" /&gt;
              &lt;/intent-filter&gt;
          &lt;/service&gt;
  
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>