Używam tej metody, aby sprawdzić, czy powiadomienia są włączone, czy nie, wyżej wymienione metody będą działać, aby sprawdzić, czy powiadomienia są włączone, czy nie. Ale od Androida 8 do tworzenia powiadomień musimy najpierw utworzyć kanał , więc z Oreo musimy sprawdzić, czy Twój kanał powiadomień jest włączony, czy nie .
/**
* Checking Whether notifications are enabled or not
* @return true if notifications are enabled otherwise false
*/
public static final String CHANNEL_ID = "your_channel_id";
private boolean isNotificationChannelEnabled(){
if(NotificationManagerCompat.from(this).areNotificationsEnabled()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel = manager.getNotificationChannel(CHANNEL_ID);
if (channel == null)
return true; //channel is not yet created so return boolean
// by only checking whether notifications enabled or not
return channel.getImportance() != NotificationManager.IMPORTANCE_NONE;
}
return true;
}
return false;
}