#android #delphi #delphi-10.1-berlin
#Android #delphi #delphi-10.1-берлин
Вопрос:
Я использую Delphi 10.1 для разработки приложения для Android, и я использовал образец Delphi для реализации Android 26 API, и когда я использовал уведомление, оно не отображается. А также я попробовал с примером уведомления. Но это не работает. Пожалуйста, помогите мне реализовать уведомление, поскольку мне нужно реализовать это из служб Android.
procedure TForm1.ImmediateNotification;
var
LNotification: TNotification;
begin
LNotification.EnableSound := False;
LNotification.Title := 'Immediate Notification';
LNotification.Subtitle := 'Subtitles are cool';
LNotification.AlertBody := 'This is an immediate notification';
FNotifications.PresentNotification(LNotification);
end;
Комментарии:
1. Не могли бы вы указать свой код уведомления?
2. ДА. Я пробовал как с system.notification, так и с Dw.notification
3. Нет, нет, вы не понимаете, я бы хотел, чтобы вы показали мне свой код, разместили функцию уведомления в вашем описании.
4. Статья по первой ссылке, которую вы дали, была заменена этой: delphiworlds.com/2018/06 / … , однако статья и, в частности, изменения в системе. Android. Уведомления предназначены только для Delphi 10.2.3. Вам нужно будет разработать соответствующие изменения для Delphi 10.1. Возможно, было бы проще перейти на Delphi 10.3.1
5. docwiki.embarcadero.com/CodeExamples/Rio/en/… Я использовал это, но это не работает.
Ответ №1:
Видя, что вы не реагируете, я действую по наитию, я разместил для вас свой код уведомления, чтобы реализовать его с помощью сервиса Android, вы должны проверить: Это из DocWiki
procedure TF_SS_MAIN.NotifyAndroid(text: string);
var
Notification: TNotification;
begin
{verify if the service is actually supported}
if NotificationCenter1.Supported then
begin
Notification := NotificationCenter1.CreateNotification;
Notification.Name := 'Notif Name';
Notification.AlertBody := text;
Notification.FireDate := Now;
{Send notification in Notification Center}
NotificationCenter1.ScheduleNotification(Notification);
end;
end;
Комментарии:
1. Это не сработает при настройке API 26 с использованием Delphi 10.1, как сказал разработчик, который они используют.
2. @DaveNottage У меня есть Delphi 10.1 Berlin, и я использовал метод для таргетинга на API26 , и у меня это работает. Использование метода для настройки API 26 вызвало у меня некоторые проблемы, например, камера не работает на Android 6 , но в целом она работает
3. Невозможно использовать Delphi 10.1 Berlin без изменения исходного кода, чтобы уведомление отображалось при установке targetSdkVersion в 26 на устройстве с Android 8 или выше. Ему необходимо назначить канал (чего не происходит с Delphi 10.1), иначе он просто не будет отображаться. developer.android.com/training/notify-user/channels