Вывод Toast из сервиса в Андроид 11 и 12

Появилась проблема, нужно вывести свой toast из сервиса (без activity) в API R и S. использую след. код

LayoutInflater myInflater = LayoutInflater.from(context);
View view = myInflater.inflate(R.layout.new_toast, null);
Toast mytoast = new Toast(context);
TextView textView = view.findViewById(R.id._toast_text);
textView.setText(message_toast);

ImageView imageView = view.findViewById(R.id.image_list);
if (bitmap != 0) {
    imageView.setImageBitmap(roundCorner(context, 48, 0,
            BitmapFactory.decodeResource(context.getResources(), bitmap),
            (int) (15 * scale)));
}
mytoast.setView(view);
mytoast.setDuration(Toast.LENGTH_LONG);
mytoast.show();

Если при запущенном activity toast выводится, то без него - нет. Ругается на null во второй строке, и зачеркивает строчку

mytoast.setView(view);

Как мне вывести мой toast без activity?

P.S. Это фишка Андроид 11 и выше. Но всё же, может есть обход


Ответы (1 шт):

Автор решения: Eva Evakuator

Из выше указанного кода я увидел следующую строку textView.setText(message_toast); Но что вы передаёте и как вы передаёте сам message_toast мне не понятно. Для начала попробуйте указать textView.setText("message_toast"); или так textView.setText(R.string.message_toast); А в файл string.xml добавить строку с именем message_toast и с значением вашего тоста.

→ Ссылка