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

Лидеры

  1. Rusland

    Rusland

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


    • Баллы

      5

    • Постов

      1 204


  2. Pax Beach

    Pax Beach

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


    • Баллы

      3

    • Постов

      414


  3. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      2

    • Постов

      2 124


  4. estra

    estra

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


    • Баллы

      2

    • Постов

      370


Популярный контент

Показан контент с высокой репутацией 30.09.2016 во всех областях

  1. Всем кто в сервис передает параметры, типа: procedure TFrmMain.StartService(); var LIntent: JIntent; begin LIntent := TJIntent.Create; LIntent.setClassName(TAndroidHelper.Context.getPackageName(), TAndroidHelper.StringToJString('com.embarcadero.services.TestRemoteServ')); LIntent.setAction(StringToJString('StartService')); TAndroidHelper.Activity.startService(LIntent); end; function TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin if Intent.getAction.equalsIgnoreCase(StringToJString('StopService')) then begin Log('START_NOT_STICKY'); Result := TJService.JavaClass.START_NOT_STICKY; end else // if Intent.getAction.equalsIgnoreCase(StringToJString('StartService')) then begin Log('START_STICKY'); Result := TJService.JavaClass.START_STICKY; end; end; обязательно проверяйте Intent на nil ! Когда система убивает ваше приложение из-за нехватки памяти и перезапускает сервис, то на Intent.getAction происходит Segmentation fault и сервис остается в подвешенном состоянии (на процессоре ARM в Приложения - Работающие у меня отображается как-будто сервис нормально перезапустился, а вот на процессоре Intel - видно как сервис находится в вечном перезапуске). И естественно хост-приложение не может нормально стартануть. Делаем примерно так: function TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin if Intent<>nil then begin if Intent.getAction.equalsIgnoreCase(StringToJString('StopService')) then begin Log('START_NOT_STICKY'); Result := TJService.JavaClass.START_NOT_STICKY; end else // if Intent.getAction.equalsIgnoreCase(StringToJString('StartService')) then begin Log('START_STICKY'); Result := TJService.JavaClass.START_STICKY; end; end else begin Log('RESTART BY SYSTEM'); Result := TJService.JavaClass.START_STICKY; end; end;
    4 балла
  2. Ты молодец! На эту проблему потрачено неимоверно много времени, и не мной одним. В итоге, действительно проблема решилась. Всегда молодым программистам по 100 раз говорю — Проверяйте объекты на NULL! Простое условие "if not Assigned(Object)" сэкономит кучу времени. — и сам же в это болото залез.
    3 балла
  3. Универсальный способ. TOSVersion
    2 балла
  4. sinuke

    определить версию Android

    uses AndroidApi.JNI.OS, Androidapi.Helpers; var AndrVersion: string; .... AndrVersion := JStringToString(TJBuild_VERSION.JavaClass.release);
    2 балла
  5. ZuBy, спасибо, все так и сделал, получилось то что надо!
    1 балл
  6. Посмотрите DeviceInfo от ZuBy
    1 балл
  7. Вот посмотрите справку System.Classes.TThread.Synchronize Примеры на С++: ThreadSynchronize (C++) и TThreadYield (C++)
    1 балл
  8. Равиль Зарипов (ZuBy)

    Failed to load libssl.so

    теперь кстати можно определить запущено приложение на интеле или нет
    1 балл
  9. я еще раз в этой теме приложу тестовый проект полностью рабочий под берлин с ресайзом ListViewTestBerlin.7z
    1 балл
  10. Не в первый раз вижу эту тему... TGridPanelLayout - далеко не предпочтительный вариант. Совсем. У ListBox с его Item'ами намного больше возможностей. С [xenon54] соглашусь, но не полностью. ListView действительно хорош (для мобильной платформы), однако он намного сложнее. Примеры применения стилей для ListBoxItem (не сочтите за рекламу, так проще было... нащелкал скринов для примера): Везде - ListBox. На последнем скрине - всплывающие сообщения на экране. Реализовано так же - прозрачная форма, ListBox и Item'ы со своим стилем В ВИДЕ ПАНЕЛЕК )
    1 балл
  11. Не поделитесь своим переводом обертки?
    1 балл
  12. Так попробуйте и узнаете! Заодно и нам расскажите... Что мешает? P.S. А как с камерой работаете? Примерчиком не поделитесь?
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...