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

Alexey Shumkin

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

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

  • Посещение

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

    1

Сообщения, опубликованные Alexey Shumkin

  1. 17 минут назад, haword сказал:

    могу выложить здесь свою apk, с программой, сырую и недоделанную, на java, еще не зарелизенную в плеэмаркете, в ней это работает. при показе активити идет запрос, на доступ к геолокации. если его разрешить, то при повторном открытии этой формы в браузере уже будет значок геолокации. в первый раз его нет потому что после запроса разрешения не пересоздается я так понимаю браузер и он не знает о том что есть права на геолокацию. но он понимает что приложению даны права. 

    добавил.

    app-release.7z

    это здорово, что у тебя (тут на "ты" принято?) работает )
    но я не адвокат FMX, и проблема - с FMX, один из способов решения - такой
    хотя, в принципе, можно попробовать и по другому... но, собсна, это не моя проблема, мне просто было интересно её решить )

  2. 2 минуты назад, haword сказал:

    не проверял как это сделано в fmx, но в андроиде если ты даешь разрешение приложению на доступ к геолокации то браузер уже не спрашивает тебя об этом и ему это разрешено. 

    в исходном сообщении - ссылка, про "андроид"...
    так что не только fmx

  3. Только что, haword сказал:

    если программа работает с геолокацией, то просто при ее запуске сразу запросить доступ не получается? 

    проблема и условия её возникновения описаны в первом сообщении ))
    встроенный браузер не использует разрешения приложения

    кстати, тут есть момент:
    если мы, например, запретим приложению использовать геолокацию, а браузеру в данном исполнении, получается, безусловно разрешаем )) неувязочка... это надо проверить )))
    вероятно, надо сложнее логику делать )

  4. major version 52 is newer than 51, the highest major version supported by this compiler.
      It is recommended that the compiler be upgraded.

    это, вроде, убирается  by
     

    javac -source 1.7 -target 1.7 ...


    похоже, либы в android.jar скомпилены Java 7,  а тут Java 8
     

  5. Цитата

    Хм, и никакого fmx-dexed-.jar в либах у меня не наблюдается, есть fmx.dex.jar.

    ну тут опечатался

    всё вам на блюдечке надо...
     

    Цитата

    set SDK=C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.33219.4899\platforms

    ...

    .... -cp "%SDK%\android-sdk-windows\platforms\android-26\android.jar"

    свяжи воедино

    с ошибками вида
     

    com\embarcadero\firemonkey\webbrowser\OnWebViewListener.java:3: error: package android.graphics does not exist
    

     

  6. читал её текст?
    а коли приводишь лог вызова, весь приводи

    но подозреваю, что тебе надо задать set BDS=
    в правильное значение (у меня 32-битная ОС, у тебя наверняка 64-битная, и путь к Делфи отличается от твоего)

  7. Ха! https://github.com/barisatalay/delphi-android-broadcast-receiver-component работает в Delphi 10!
    Хоть он и сильно похож на упомянутый мной https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver, но, видимо, дьявол где-то в деталях.

     

  8. В 12.06.2016 в 09:59, ODmitrijS сказал:

    Тоже вариант, может есть вариант исправить ошибку для всех вновь создаваемых проектов?

    ни разу не наблюдал её
    ни у вновь создаваемых, ни у legacy c XE7, ни на 10 без Update 1, ни на 10 с Update 1

    P.S. Кстати, мне тут как раз на днях указали, что XE10 не было и нет )) есть Delphi 10 Seattle ))

  9. JFI:
    Delphi использует adb из настроенного SDK (у каждой версии (по умолчанию) своя SDK) для установкиAPK на устройство.
    Посмотрите, что выдаёт соответствующий adb при adb install -r <yourAPK>.

  10. Для работы с USB-устройствами (на девайсах с USB-хостом) нужно использовать BroadcastReceiver.
    Нашёл пример работы с ними (https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver). 

    Проверял на XE10. Долго мучался с проверкой, пока не выяснилось, что под XE7 работает, а под XE10 - нет.

    Выдаёт ошибку "Interface not supported" в момент создания JFMXBroadcastReceiver (или около того, точно непонятно).

    Для демонстрации я создал отдельный простой проект - https://github.com/ashumkin/Delphi-Android-BroadcastSample.
    В XE7 он работает (при нажатии на кнопку Register вешается слушатель, который ловит и выводит в лог (см. adb logcat) события включения/выключения экрана). А в XE10 - выдаёт вышеупомянутую ошибку "Interface not supported".
    В логах есть строки
    W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiverListener'
    W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiver'
    (но они есть и при запуске приложения, собранного в XE7)

    Пробовал по-разному: и удалял AndroidManifest.template.xml от XE7, и пересоздавал .dproj в XE10, - пофик.
    В чём засада?

×
×
  • Создать...