Почему изменение идентификатора канала и имени канала в flutter_local_notifications влияет на отображение уведомления?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Почему изменение идентификатора канала и имени канала в flutter_local_notifications влияет на отображение уведомления?

Сообщение Anonymous »

Я использую пример из flutter_local_notifications версии v18.0.1:
https://github.com/MaikuB/flutter_local ... ns/example
Когда я меняю идентификатор канала и название канала с «повторяющегося канала» id', 'повторяющееся название канала' на 'идентификатор вашего канала', 'название вашего канала', отображается сообщение. Однако при использовании исходного идентификатора канала(

Код: Выделить всё

'repeating channel id'
) и имя(

Код: Выделить всё

'repeating channel name'
), в уведомлении отображается только небольшой значок без сообщения (когда я опускаю верхнюю часть устройства, я могу просмотреть подробную информацию об уведомлении).
Вот код, в котором сообщение не отображается:
https://github.com/MaikuB/flutter_local ... dart#L1867

Код: Выделить всё

Future _repeatNotification() async {
const AndroidNotificationDetails androidNotificationDetails =
AndroidNotificationDetails(
'repeating channel id', 'repeating channel name',
channelDescription: 'repeating description');
const NotificationDetails notificationDetails =
NotificationDetails(android: androidNotificationDetails);
await flutterLocalNotificationsPlugin.periodicallyShow(
id++,
'repeating title',
'repeating body',
RepeatInterval.everyMinute,
notificationDetails,
androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
);
}
После изменения «идентификатора вашего канала», «названия вашего канала» отображается сообщение:

Код: Выделить всё

Future _repeatNotification() async {
const AndroidNotificationDetails androidNotificationDetails =
AndroidNotificationDetails(
'your channel id', 'your channel name', // Change ID and name
channelDescription: 'repeating description');
const NotificationDetails notificationDetails =
NotificationDetails(android: androidNotificationDetails);
await flutterLocalNotificationsPlugin.periodicallyShow(
id++,
'repeating title',
'repeating body',
RepeatInterval.everyMinute,
notificationDetails,
androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
);
}
Я искал в коде вхождения «идентификатора вашего канала», но не смог найти каких-либо конкретных условий для отображения уведомления.
Я также проверил документацию по Android на каналах:
https://developer.android.com/develop/u ... s/channels
но до сих пор не знаю не понимаю, почему при изменении идентификатора и названия канала появилось сообщение появляются.


Код: Выделить всё

'repeating channel id','repeating channel name'
:
Сообщение не отображается
(играет звук, а на устройстве отображается маленький значок).
Когда я опускаю верхнюю часть устройства,
я могу просмотреть подробную информацию об уведомлении.

Код: Выделить всё

'your channel id','your channel name'
:
Отображается сообщение
(играет звук, а на устройстве отображается маленький значок).
Когда я опускаю верхнюю часть устройства,
я могу просмотреть подробную информацию об уведомлении.





Изображение


Изображение



< /div>

Причина, по которой я изменил это на «идентификатор вашего канала», «название вашего канала», заключается в том, что оно использовалось в других частях кода, где было сообщение. успешно отображается: https://github.com/MaikuB/flutter_local ... dart#L1052

Код: Выделить всё

Future _showNotification() async {
const AndroidNotificationDetails androidNotificationDetails =
AndroidNotificationDetails('your channel id', 'your channel name',
channelDescription: 'your channel description',
importance: Importance.max,
priority: Priority.high,
ticker: 'ticker');
const NotificationDetails notificationDetails =
NotificationDetails(android: androidNotificationDetails);
await flutterLocalNotificationsPlugin.show(
id++, 'plain title', 'plain body', notificationDetails,
payload: 'item x');
}
Итак, я просто сослался на код, где отображалось сообщение, не до конца понимаю, почему это работает. Я хотел бы знать основной механизм.

Сначала я подумал, что важность: Importance.max и приоритет: Priority.high< /code> может быть связано, поэтому я пробовал разные вещи. Однако в конечном итоге решающее значение имели идентификатор и название канала.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ifications
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»