Перейти к содержанию
Fire Monkey от А до Я

x11

Пользователи
  • Постов

    828
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Весь контент x11

  1. Советую перейти на ListView. Ну или приобрести стороннюю разработку.
  2. Object Pascal Interface Files Of The Android 27 and Android 28 SDKs For Delphi 10.2 Tokyo https://www.fmxexpress.com/object-pascal-interface-files-of-the-android-27-and-android-28-sdks-for-delphi-10-2-tokyo/
  3. всё нужно переделывать согласно новой идеи http://fire-monkey.ru/topic/5181-свой-источник-в-телефонной-книге/
  4. Пока изучаю: https://developer.android.com/guide/topics/providers/contacts-provider?hl=ru Если у кого-то есть примеры на delphi/fmx, буду признателен
  5. Я так понимаю, что приложение при установке должно добавить какую-то учётную запись в настройки синхронизации? Как это сделать? В минифесте нужно что-то прописывать?
  6. Не знаю как сделать, с чего начать. В телефонной книге Андроида можно создать свой источник и загрузить туда имена + телефоны, даже картинки. Это нужно для программы типа АОН. Т.е. в этот источник нужно импортировать раз в час, например, свои данные: очищать источник полностью перед импортом и импортировать всё заново.
  7. Настройка Delphi Community Edition для разработки под Android https://www.youtube.com/watch?v=_DXtU_8QdVE
  8. Разницы между START_STICKY и START_REDELIVER_INTENT для меня нет. Мне главное, чтобы при (пере)создании службы, был создан и BroadcastReceiver,который будет ждать вызова. procedure TDMSrv.AndroidServiceCreate(Sender: TObject); begin CreateBroadcastReceiver; end; procedure TDMSrv.CreateBroadcastReceiver; begin if not assigned(fBroadcastReceiver) then begin fBroadcastReceiver := TCSBroadcastReceiver.Create(nil); Log('not assigned BroadcastReceiver, creating: ' + fBroadcastReceiver.ToString); end; fBroadcastReceiver.OnReceive := BroadcastReceiverOnReceive; fBroadcastReceiver.Clear;// Items.Clear; fBroadcastReceiver.RegisterReceiver; fBroadcastReceiver.Add(PHONE_STATE); fBroadcastReceiver.Add(NEW_OUTGOING_CALL); Log('CreateBroadcastReceiver'); end;
  9. Пути Господни Гугла не исповедимы.
  10. Просто поменять - этого мало. Должен быть соответствующий функционал. Просто приложение не будет нормально работать. Это проверено уже.
  11. Возможно, что приложение даже не установится. Я своё, например, не смог установить на Самсунг Галакси на базе Андроид 8. Текста ошибки нет, т.е. даже не знаешь причину
  12. Не важно, для каких программистов. Если ты собираешься выкладывать приложение в маркет, могут забанить. Мало того, производители устройств, да и сам Андроид не будет давать нормально работать приложению, как мне кажется, т.е. будут программно сами разработчики Андроида привязываться к этим правилам.
  13. С 1 августа 2018 года новые правила в Гугл плей. https://developer.android.com/distribute/best-practices/develop/target-sdk The following considerations apply to apps targeting Android 8.0 and higher versions of the platform: (Следующие соображения применимы к приложениям, ориентированным на Android 8.0 и более поздние версии платформы:)
  14. к сожалению примеров, информации и справки очень мало, а сообщество FMX всё ещё не очень большое
  15. Может кому пригодится пример с использованием startForeground, а то в справке по Delphi не нашёл uses System.Android.Notification, AndroidApi.JNI.Support; // для JNotification и JNotificationCompat_Builder ... ... function TDMSrv.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; Var Action: string; notification: JNotification; NotificationBuilder: JNotificationCompat_Builder; begin Action := JStringToString(Intent.getAction); // if Action = 'StartService' then // CreateBroadcastReceiver; if Action = 'StopService' then begin JavaService.stopSelf; result := TJService.JavaClass.START_NOT_STICKY; // don't reload service Log('Service stoped'); exit; end; NotificationBuilder := TJNotificationCompat_Builder.JavaClass.init(TAndroidHelper.Context); NotificationBuilder := NotificationBuilder.setSmallIcon(TAndroidHelper.Context.getApplicationInfo.icon); NotificationBuilder := NotificationBuilder.setContentTitle(StrToJCharSequence(TAndroidHelper.ApplicationTitle)); NotificationBuilder := NotificationBuilder.setContentText(StrToJCharSequence('тело сообщения')); notification := NotificationBuilder.build; Self.JavaService.startForeground(1, notification); result := TJService.JavaClass.START_STICKY; // rerun service if host app stops end; Не нашёл информации, почему именно 1 здесь: Self.JavaService.startForeground(1, notification); Это в DataModule, который в службе TDMSrv = class(TAndroidService)
  16. Подскажите, а где в Delphi живёт JNotificationCompat_Builder? Справка молчит.
  17. Я не знаю, как это визульно, но при нажатии на кнопку у меня волны расходятся плавно.
  18. Ошибка в 17ой строке
  19. что-то нашел https://delphifmandroid.blogspot.com/2016/01/broadcastreceiver.html https://delphifmandroid.blogspot.com/2016/01/ansroidservicebroadcastreceiver.html http://yaroslavbrovin.ru/using-alarmmanager-in-firemonkey-on-android-ru/ пытаюсь изучить
  20. В общем, я создал новую тему с целю переписать немного принцип запуска службы http://fire-monkey.ru/topic/5168-процедура-в-сервисе-через-broadcastreceiver/
  21. В общем, исходя из этой >> темы, пришёл к выводу, что служба будет всё равно прибиваться системой, хоть даже если приложение будет в белом списке. У меня в службе используется программный BroadcastReceiver. Но его можно перенести в XML Манифест. Примеры-то есть, но они для "чистого" андроид-приложения. Там идея такая, что в случае события Андроид сам вызывает указанную в манифесте процедуру. Например, при входящем звонке вызывается указанная программистом процедура. Поэтому вопрос, как быть с FMX-приложением? Я же не могу указать там свою процедуру, написанную на Delphi. Нужна какая-то прослойка. Если у кого есть опыт, примеры, поделитесь, пожалуйста. Спасибо.
  22. а за "<uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>" могут забанить в Гул-маркете
×
×
  • Создать...