GCM Network Manager с отображением уведомлений, даже если приложение закрыто
Я хочу уведомлять пользователя о сообщениях, которые он / она получал в автономном режиме, каждый раз, когда устройство подключено к Интернету, даже если приложение закрыто. Я обнаружил, что использование GCM Network Manager является одним из способов решения проблемы, поэтому я следовал этому руководству по использованию GCM Network Manager и добавил в свой пример кода функцию для отображения уведомления. Эта функция вызывается каждый раз, когда вызывается вещательный приемник.
Вот код
.....
.......
mLocalBroadcastManager = LocalBroadcastManager.getInstance(this);
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String taskId = intent.getStringExtra(CodelabUtil.TASK_ID);
String status = intent.getStringExtra(CodelabUtil.TASK_STATUS);
mTaskAdapter.updateTaskItemStatus(taskId, status);
Notify("TEST", "TEST", context, intent);
}
};
private void Notify(String notificationTitle, String notificationMessage, Context ctx, Intent intent){
Log.i("TEST", "Notify is called");
NotificationManager manager;
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification myNotication;
//Intent intent = new Intent("com.google.codelab.networkmanager");
PendingIntent pendingIntent = PendingIntent.getActivity(ctx, 1, intent, 0);
Notification.Builder builder = new Notification.Builder(ctx);
builder.setAutoCancel(false);
builder.setContentTitle(notificationTitle);
builder.setContentText(notificationMessage);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentIntent(pendingIntent);
//
//builder.build();
myNotication = builder.getNotification();
manager.notify(11, myNotication);
}
Проблема в том, что уведомление отображается только тогда, когда приложение находится на переднем плане, но не отображается, когда приложение закрыто.
Есть что-нибудь, что мне нужно сделать? Спасибо. (Извините за мой плохой английский)