Эти сбои исчезли, когда я сделал это временное решение.

ользуюOneSignal SDK показывать уведомления. Я делаю это вOneSignalPushService.java.

OneSignalPushService.java:

public class OneSignalPushService extends NotificationExtenderService {

    @Override
    protected boolean onNotificationProcessing(OSNotificationReceivedResult notification) {

        if (!TinyDbWrap.getInstance().isPushEnabled()) {
            KLog.d(this.getClass().getSimpleName(), "Notification will not displayed");
            return true;
        }

        OverrideSettings overrideSettings = new OverrideSettings();
        overrideSettings.extender = new NotificationCompat.Extender() {
            @Override
            public NotificationCompat.Builder extend(NotificationCompat.Builder notificationBuilder) {
                notificationBuilder.setDefaults(0);
                notificationBuilder.setContentTitle(getApplicationContext().getResources().getString(R.string.app_name));

                boolean is_in_silent_mode = false; /*or true by user's settings in app*/
                /*TinyDbWrap.getInstance()... - it stores user's settings*/
                KLog.d(OneSignalPushService.class.getSimpleName(), "Notification isSoundPushEnabled: " + TinyDbWrap.getInstance().isSoundPushEnabled());
                if (!is_in_silent_mode && TinyDbWrap.getInstance().isSoundPushEnabled()) {
                    notificationBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
                } else {
                    notificationBuilder.setSound(null);
                }

                KLog.d(OneSignalPushService.class.getSimpleName(), "Notification isVibrationPushEnabled: " + TinyDbWrap.getInstance().isVibrationPushEnabled());
                if (!is_in_silent_mode && TinyDbWrap.getInstance().isVibrationPushEnabled()) {
                    notificationBuilder.setVibrate(new long[]{0, 100, 200, 300, 400});
                } else {
                    notificationBuilder.setVibrate(new long[]{0});
                }

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    notificationBuilder.setColor(ContextCompat.getColor(getApplicationContext(), R.color.bg_first_item_white_scheme));
                }
                notificationBuilder.setLights(ContextCompat.getColor(getApplicationContext(), R.color.time_white_sheme), 500, 500);
                return notificationBuilder;
            }
        };

        OSNotificationDisplayedResult result = displayNotification(overrideSettings);
        if (result != null) {
            KLog.d(OneSignalPushService.class.getSimpleName(), "Notification displayed with id: " + result.androidNotificationId);
        }

        return true;
    }

}

Это хорошо работает на всех моих устройствах, но:

Я получаю большое количество этой проблемы на Crashlytics только на устройствах с Android Nougat:

Неустранимое исключение: android.app.RemoteServiceException: Плохое уведомление отправлено из пакета my.package: Не удалось развернуть RemoteViews для: StatusBarNotification (pkg = my.package user = UserHandle {0} id = -1542711428 tag = null key = 0 | my .package | -1542711428 | null | 10184: Уведомление (pri = 0 contentView = null vibrate = нулевой звук = нулевые значения по умолчанию = 0x0 flags = 0x19 color = 0xff56a0d3 vis = PUBLIC semFlags = 0x0 semPriority = 0)) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1813) в android.os.Handler.dispatchMessage (Handler.java:102) в android.os.Looper.loop (Looper.java:154) в android.app.ActivityThread.main ( ActivityThread.java:6776) на java.lang.reflect.Method.invoke (Method.java) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1496) на com.android.internal.os .ZygoteInit.main (ZygoteInit.java:1386)

К сожалению, я не могу воспроизвести эту проблему на моих устройствах сAndroid Nougat чтобы понять, как я могу это устранить.

Я пытался изменить графические ресурсы, такие как значки уведомлений, чтобы очистить проект, чтобы следоватьэтот совет.

Я заметил, что количество устройств с этой проблемой увеличивается на неделю, когда я выпускаю новую версию приложения позже, эти цифры уменьшаются до нуля.

Эта проблема такжесообщили в Google а такжеразработчикиOneSignal SDK.

Я ищу любые обходные пути, любые идеи или предложения, которые могут помочь устранить эту проблему.

Ответы на вопрос(2)

Ваш ответ на вопрос