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

x11

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

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

  • Посещение

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

    13

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

  1. Во время звонка в службе есть BroadCast receiver, который обрабатывает входящие и исходящие звонки. Определяет номер. Тут вроде бы уже есть более менее стабильный код. Но пользователю во время звонка нужно показать какое-нибудь заметное, но небольшое окно с картинкой и текстом, чуть больше, чем toast. Окно, которое будет висеть некоторое время впереди перед звонилкой. Сейчас реализовано так, что служба показывает Toast, но этого недостаточно, т.к. это маленькое текстовое и краткосрочное сообщение. Пока пользователь достанет смартфон из кармана, потом из чехла или пока откроет переднюю крышку чехла, toast пропадает. Нужно что-то типа Toast. Но чтобы висело секунд 10-15. Как вариант, можно было бы показывать Notification, но и здесь Андроид и Firemonkey добавляют свои ограничения: вверху, в строке статуса отображается только значок и только главный значок приложения. Попытался менять главную иконку у приложения перед показом Notification http://fire-monkey.ru/topic/682-tnotificationcenter-можно-ли-изменить-иконку/?do=findComment&comment=30366 но всё равно отображается стандартная. Да и текста нет :(, нельзя в статус баре показать свой текст, даже временно. Если будут примеры, буду весьма признателен.
  2. Вообще, непонятно, откуда Delphi берет эти цифры в названии? Почему можно только 25.2.5 и 24.3.3? В настройках SDK Manager`а может быть хоть 27, хоть 19, но название от этого не меняется автоматически и ручками поменять нельзя.
  3. Приложение запускается и служба работает с Broadcast reciever`ом на стареньком Android 4.1.2 (Samsung Galaxy SII). А на эмуляторе NOX с Android 4.4.2 приложение падает при старте.
  4. Как правильно настроить? Что должно быть установлено?
  5. Вопрос по Андроиду 6 и выше. Оказалось, что служба с BroadcastReceiver`ом не получает сообщения, если в targetSdkVersion указать версию 24 или 25. Если указываешь не выше 22, то получает и срабатывает. С чем это связано может быть? Нет ошибок, просто BroadcastReceiver не получает сообщения.
  6. Кстати, если я запускаю установку ручками: adb install полный_путь.apk, то установка проходит нормально
  7. Нет никаких вопросов. Утилита adb показывает, что и устройство, и эмулятор авторизованы.
  8. Ссылки на NDK в среде где-то жёстко прописаны? Экспериментирую с NDK/SDK. Собираю проект - ошибка. В SDK Manager одно прописано, а используется другое.
  9. Почему там 25, а ниже 21? Какие версии с какими можно комбинировать?
  10. А есть какая-то связь или зависимость между версиями SDK и NDK, когда прописываешь это всё в настройках SKD Manager`а?
  11. HTC One Max, Android 5. Пару часов назад было всё норм. Эмулятор на базе Android 7. Здесь тоже приложение устанавливалось и запускалось. Сравнительно шустро даже.
  12. Проект (android) компилируется и собирается без проблем. Но когда выбираешь устройство или эмулятор и нажимаешь F9, то процесс виснет на этапе installing. Перезагрузка ПК не помогает. Что проверять, куда смотреть?
  13. Ок. Как вариант, что можно придумать, чтобы показать из службы что-то вроде Toast, но чтобы это небольшое окошко/надпись была на экране значительно дольше + вставить туда кроме надпись, ещё и значок. Задача простая. При звонке показать, что номер телефона имеет такой-то признак. Чтобы пользователь смартфона видел это при вход./исход. звонке.
  14. Да, не пользуюсь. Я побоялся, что при выходе обновлений или новых версий Delphi, придётся всё снова править или ещё что-то.
  15. Ошибка моя, нужно было ismed img_is_med = 'drawable/ismed';
  16. При попытке подключиться к базе данных SQLite на эмуляторе с Android 7 получаю исключение: Delphi Tokyo + UniDAC 7. Эмулятор какой-то неполноценный?
  17. x11

    Добавить SDK 21

    там, 25, там 27, там 21 Так какой-же API level у меня в приложении?
  18. Пустое приложение с кнопкой и надписью, созданное в Delphi Tokyo, не запускается в NOX.
  19. Приложение не запускается. В логах вижу "Fatal signal 11 (SIGSEGV) at 0x1c300019 (code=1), thread 2591 (tal.имя_пакета)"
  20. Эмулятор Nox App Player пока работает на версии Android 4.4.2. Старшие версии Андроида не поддерживаются.
  21. Проверил, что возвращает TAndroidHelper.Context.getResources.getIdentifier. Первый значок - 0, второй - 2130837506. Это неправильные значения?
  22. Fedor K, Ваш вариант у меня не получается реализовать У меня host-приложение со службой. В приложении, в deployment, добавил 2 png файла, дал им имена в колонке remote name. Сделал deploy проекта. В папке "\Android\Debug\имя_пакета\res\drawable" появились нужные файлы. При создании службы выполняю procedure TDMSrv.SetIDIconMed; const img_is_med = 'drawable/med'; img_not_med = 'drawable/nomed'; begin //значок 1 iIDIconMedY := TAndroidHelper.Context.getResources.getIdentifier( StringToJString(img_is_med), StringToJString('drawable'), StringToJString('имя.пакета.host-приложения')); // значок 2 iIDIconMedN := TAndroidHelper.Context.getResources.getIdentifier( StringToJString(img_not_med), StringToJString('drawable'), StringToJString('имя.пакета.host-приложения')); end; При оповещении: procedure TDMSrv.LaunchNotification(const sTel, sTypeCall: string; idIconMed: integer); begin ... ... ... //запоминаем значок приложения по умолчанию lDefaultId := TAndroidHelper.Context.getApplicationInfo.icon; //устанавливаем значок в зависимости от того, посредник или нет TAndroidHelper.Context.getApplicationInfo.icon := idIconMed; //показываем оповещение MyNotification.FireDate := IncSecond(Now, 1); NotificationCenter1.ScheduleNotification(MyNotification); //возвращаем значок приложения обратно TAndroidHelper.Context.getApplicationInfo.icon := lDefaultId; MyNotification.DisposeOf end; Вызываю, передавая нужный ID LaunchNotification('...', '...', iIDIconMedY); или LaunchNotification('...', '...', iIDIconMedN); Но всплывает при оповещении всё равно стандартный значок приложения. Delphi Tokyo.
  23. в этом случае ничего не отображается NotificationCenter1.PresentNotification(MyNotification); а так норм MyNotification.FireDate := IncSecond(Now, 1); NotificationCenter1.ScheduleNotification(MyNotification); по идее, если мне нужно мгновенное уведомление, то можно использовать PresentNotification. Delphi Tokyo.
×
×
  • Создать...