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

Andrey Efimov

Модераторы
  • Постов

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

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

    129

Andrey Efimov стал победителем дня 11 августа 2025

Andrey Efimov имел наиболее популярный контент!

7 Подписчиков

Информация о Andrey Efimov

Информация

  • Пол
    Мужчина

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Плохо искали... Вариантов два: Скачать готовые обёртки или сгенерировать самостоятельно Скачать. На этом форуме: Полностью транслированное Android API 7-23 уровня (на самом деле там уже до 28) На гитхабе: Object Pascal (Delphi) JNI wrappers for the Android SDK Сгенерировать. Воспользоваться утилитой Java2OP (C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\converters\java2op\Java2OP.exe) идущей в комплекте со студией. Скачать утилиту: Утилита генерации pas файлов для AndroidAPI из jar файлов (правда версия старая, лучше использовать ту, что идёт в комплекте со студией)
  2. Если это весь код, то рекомендую ознакомиться с такой вещью как "Разрешения и запрос разрешений у пользователя" (Uses Permissions). С версии Android 6 меры безопасности усилили и продолжают это делать по сей день. Ознакомиться можно в любом месте интернета (оф. справка Студии, Андроида, множество статей в интернете, форумы (включая этот), стековерфлоу и т.д.). Вкратце, поставить галочку в настройках проекта на запрос разрешения для приложения недостаточно, необходимо написать код и в рантайме запрашивать разрешение у пользователя. В вашем случае, предполагаю, необходимо запросить разрешение "Manage external storage"(android.permission.MANAGE_EXTERNAL_STORAGE). Вот мой пример (тест на Android 11, в настройках проекта установлена галочка "Manage external storage" + выдача разрешения "Разрешить управление всеми файлами" вручную): var LPath: string; StringList: TStringList; begin LPath := TPath.Combine(TPath.GetSharedDownloadsPath, 'file1.txt'); StringList := TStringList.Create; try StringList.LoadFromFile(LPath); ShowMessage(StringList.DelimitedText); finally StringList.Free; end; end; Работает! p.s. Пожалуйста, в следующий раз прикладывайте свой чистый проект, так вы сэкономите чужое время и вырастит вероятность получить ответ быстрее .
  3. Сообщите версию ОС, приложите текстовый файл, а лучше чистый проект с демонстрацией проблемы (код, текстовый файл и т.п.). Возможно, так вам смогут помочь быстрее.
  4. Если глянуть файлик RAD Studio 12.3 Feature Matrix, то поддержка имеется. К сожалению, подсказать точнее не могу, т.к. не имею Community версии. up. Поддерживает. Видео на канале Embarcadero - Setting up Delphi Community Edition for Android Development
  5. Да, вот прямо сейчас проверял, модальная форма перестаёт проваливаться под основную. На всякий случай, Delphi 12.2.
  6. Посмотрел репорт о баге подробнее, оказалось, автор нашёл ещё один способ. Добавить BringToFront в модальную форму. Судя по его исследованию, проблема возникает, когда модальная форма генерирует изменение (и перекраску). Проверил на его демке, помогло (для теста добавил BringToFront в событие OnPaint модальной формы). p.s. Репорт (RSS-1714) появился там 6 сентября 2024 года
  7. Здравствуйте. Это форум по FireMonkey (FMX). Вам лучше обратиться на форум по FGX Native - Форумы - FGX Native
  8. Увидел эту тему и не мог понять, почему я не сталкивался с такой проблемой в своём приложении, которое почти для всех форм использует режим модального окна. Решил покопаться в официальной жире. Есть там тикет (RSS-1714) с описанием похожей проблемы и демкой. В общем, там дело в использовании StyleBook. Если установить UseStyleManager = False, то проблема исчезает, правда вместе с проблемой исчезает и стилизация окна Но может как то поможет вам в решении вашей проблемы.
  9. Специально сейчас проверил на новом пустом проекте в Delphi 10.4.2. Убирал строку из файла AndroidManifest.template.xml в корне проекта, собрал проект, проверил результат - всё хорошо, строки нет (в шаблоне (в корне проекта), промежуточном (в папке Debug) и итоговом файле AndroidManifest.xml). Перезапустил Студию, собрал проект, проверил результат - всё хорошо, строки нет. Мин. АПИ и целевое задано по умолчанию (строка из промежуточного манифеста): <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" /> Проверял вот с такими инструментами (данные из SDK Manager) : p.s. На всякий случай, может поможет, сделать Clean проекта предварительно выбрав целевую платформу Android
  10. Предположу, что проблема всё таки в манифесте и версии SDK. Попробуйте удалить строчку из манифеста: android:requestLegacyExternalStorage="true" и собрать приложение.
  11. Почитайте тут: Android Developers - Docs - Guides: Intents and Intent Filters Android Developers - Docs - Guides:<data> StackOverflow: Android intent filter: associate app with file extension
  12. Using a Custom Set of Java Libraries In Your RAD Studio Android Apps Adding A Java Library to Your Application Using the Project Manager Creating a Native Bridge File for a Java Library
  13. Установить то можно, но только если пользователь подготовлен к этому. Через спец. софт, можно скачать например с Google Play: App Bundle Install (вроде, не помню точно, как называется). На самом деле, подобного софта много. Т.к. установка aab не из маркета требует подготовки, то само собой лучше выкладывать на своём сайте сразу apk файлы.
  14. Restriction on non-resettable device identifiers В этом разделе: "Starting in Android 10, apps must have the READ_PRIVILEGED_PHONE_STATE privileged permission in order to access the device's non-resettable identifiers, which include both IMEI and serial number. Caution: Third-party apps installed from the Google Play Store cannot declare privileged permissions." Best practices for working with Android identifiers
  15. Посмотрите эту страницу документации: Configuring your app for multi-window Mode
×
×
  • Создать...