Я не получаю уведомления Oreo и верхний - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно, чтобы уведомление работало на Android и выше, но оно не отображается, как я могу решить мою проблему?я пытался реализовать инструкцию от android developers.com, но это не помогло, кто-нибудь может мне помочь с этим кодом?и извините за мой плохой английский.

if (newCount > 0) {
if (PrefUtils.getBoolean(PrefUtils.NOTIFICATIONS_ENABLED, true)) {
                        Cursor cursor = getContentResolver().query(EntryColumns.CONTENT_URI, new String[]{Constants.DB_COUNT}, EntryColumns.WHERE_UNREAD, null, null);

                        cursor.moveToFirst();
                        newCount = cursor.getInt(0); // The number has possibly changed
                        cursor.close();

                        if (newCount > 0) {
                            String text = getResources().getQuantityString(R.plurals.number_of_new_entries, newCount, newCount);

                            Intent notificationIntent = new Intent(FetcherService.this, HomeActivity.class);
                            PendingIntent contentIntent = PendingIntent.getActivity(FetcherService.this, 0, notificationIntent,
                                    PendingIntent.FLAG_UPDATE_CURRENT);

                            Notification.Builder notifBuilder = new Notification.Builder(MainApplication.getContext()) //
                                    .setContentIntent(contentIntent) //
                                    .setSmallIcon(R.drawable.ic_statusbar_rss) //
                                    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)) //
                                    .setTicker(text) //
                                    .setWhen(System.currentTimeMillis()) //
                                    .setAutoCancel(true) //
                                    .setContentTitle(getString(R.string.spaRSS_feeds)) //
                                    .setContentText(text) //
                                    .setLights(0xffffffff, 0, 0);

                            if (PrefUtils.getBoolean(PrefUtils.NOTIFICATIONS_VIBRATE, false)) {
                                notifBuilder.setVibrate(new long[]{0, 1000});
                            }

                            String ringtone = PrefUtils.getString(PrefUtils.NOTIFICATIONS_RINGTONE, null);
                            if (ringtone != null && ringtone.length() > 0) {
                                notifBuilder.setSound(Uri.parse(ringtone));
                            }

                            if (PrefUtils.getBoolean(PrefUtils.NOTIFICATIONS_LIGHT, false)) {
                                notifBuilder.setLights(0xffffffff, 300, 1000);
                            }

                            if (Constants.NOTIF_MGR != null) {
                                Constants.NOTIF_MGR.notify(0, notifBuilder.getNotification());
                            }
                        }
                    } else if (Constants.NOTIF_MGR != null) {
                        Constants.NOTIF_MGR.cancel(0);
                    }
                }

1 Ответ

0 голосов
/ 19 февраля 2019

Начиная с Android 8 все уведомления должны быть назначены на NotificationChannel . Здесь вы можете найти информацию об этом.

Надеюсь, это поможет

...