Notification.Builder не принимает this
Notification.Builder(this), не работает выдает ошибку. Этот метод находится не в классе MainActivity, поэтому не использую MainActivity.this. Пробовал Service.this(Метод находится в классе Service) и android.content.Context и getApplicationContext(), ничего из перечисленного не работает
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)// Не работает здесь
.setSmallIcon(R.drawable.ic_stat_cc397d54c2161005908a3034c5fabbea)
.setContentTitle("Notify")
.setContentText("Some text")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(MainActivity.this);
notificationManager.notify(1, builder.build());
Ответы (2 шт):
Я проверил ваше метод у себя и там this подставляется без каких-либо проблем если класс в котором это вызывается является Activity или Service(в целом, любой класс, наследующийся от Context).
Отсюда вывод: "В вашем случае this не является Context-ом", другого быть не может.
Что может быть? Либо вы где-то ошиблись с наследованием в самой активити/сервисе, либо вы используете билдер внутри какой-то лямбды или анонимной функции или может быть внутреннем классе, может быть что-то еще упустил. Но проблема однозначно в том, что this - это не контекст.
Ну либо второй вариант (хотя это очень вряд-ли в вашем случае) вы что-то не то импортировали и это не та функция.
В моем случаи я сам тупанул, т.к я создал этот метов в простом классе, а нужно было в сервисе(службе), и this прекрасно заработал