Я новичок в программировании на Android и пытаюсь создать свое первое приложение.Прямо сейчас я хочу отправлять локальные уведомления.К сожалению, я не могу получать уведомления на устройствах с API 28 и выше.Я знаю, что с тех пор, как Oreo и я добавили код, создающий канал, произошли изменения в способе отправки уведомлений.Похоже, если я запускаю приложение на симуляторе с более низким API (например, 19), уведомление получено.Также, если я копирую свой код в новый проект, я получаю уведомления даже на симуляторе под управлением Android Oreo.Какие настройки в проекте могут привести к тому, что уведомления не будут получены на Android Oreo?(В Logcat нет ошибок)
Мой код для отправки уведомлений:
public static final String CHANNEL_1_ID = "channel1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createNotificationChannels();
}
public void setNotif(View view) {
Notification notification = new NotificationCompat.Builder(this, CHANNEL_1_ID)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("hey")
.setContentText("world")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.build();
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(1, notification);
}
private void createNotificationChannels() {
// if higher than android oreo
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel1 = new NotificationChannel(CHANNEL_1_ID, "Channel 1", NotificationManager.IMPORTANCE_HIGH);
channel1.setDescription("This is channel 1");
NotificationManager manager = getSystemService(NotificationManager.class);
manager.createNotificationChannel(channel1);
}
}
Метод setNotif вызывается нажатием кнопки.Опять же, я новичок в программировании Android, поэтому любые советы будут полезны.Возможно даже другой способ, которым я мог диагностировать проблему.Спасибо!