Android-приложение не отображает push-уведомления - PullRequest
0 голосов
/ 05 сентября 2018

Мое приложение Android получает уведомление на переднем плане, но не показывает уведомление на заднем плане.

Я отладил код, и он корректно проходит без ошибок и регистрирует все, но без оставшихся уведомлений.

 @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        if (Foreground.getInstance().isForeground()) {
            Intent callIntent = new Intent(getApplicationContext(), CallActivity.class);
            callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(callIntent);
        } else {
            Log.d(TAG, "Creating notification");
            NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext(), "0")
                    .setSmallIcon(R.drawable.ic_notification)
                    .setColor(getResources().getColor(R.color.fcmNotificationBg))
                    .setContentTitle("Title")
                    .setContentText("Some text")
                    .setAutoCancel(true);


            Intent intent = new Intent(getApplicationContext(), CallActivity.class);
            TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
            stackBuilder.addParentStack(CallActivity.class);
            stackBuilder.addNextIntent(intent);
            PendingIntent resultPendingIntent =
                    stackBuilder.getPendingIntent(
                            0,
                            PendingIntent.FLAG_UPDATE_CURRENT
                    );
            notificationBuilder.setContentIntent(resultPendingIntent);

            Log.d(TAG, "Creating notificationManager");
            NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

            if (notificationManager != null) {
                notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
                Log.d(TAG, "notify called");
            } else
                Log.d(TAG, "notificationManager is NULL");
        }
    }
}

1 Ответ

0 голосов
/ 19 сентября 2018

Вещательный приемник должен быть реализован

public class SensorRestarterBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent();
        i.setClass(context, MyFirebaseMessagingService.class);
        context.startService(i);
    }
}

В декларации

<receiver
            android:name=".services.SensorRestarterBroadcastReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
</receiver>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...