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

Лидеры

  1. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      15

    • Постов

      842


  2. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      3

    • Постов

      2 517


  3. Anatoliy

    Anatoliy

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


    • Баллы

      2

    • Постов

      176


  4. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      1

    • Постов

      738


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

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

  1. Вопросы: На какой версии Андроида проверяете? Вы точно удалили разрешение из манифеста? Проверьте итоговый манифест. Чуть позже, сам смогу проверить на разных версиях Андроид. Можете приложить файл манифеста из папки Проект/Android/Debug или Realese/. Ап. P.s. ок, вижу, вопрос решился.
    3 балла
  2. Вероятно, вам требуется добавить ссылку на политику конфиденциальности в Консоли разработчика. Делается это так: 1) Заходим в консоль разработчика 2) Выбираем приложение 3) В меню открываем вкладку "Настройка страницы приложения" и жмём по "Описание приложения" 4) Спускаемся в самый низ, там будет раздел "Политика конфиденциальности", вставляем ссылку на страничку/документ 5) Сохраняем и публикуем новые настройки Про GET_ACCOUNTS. Как убрать разрешение: Собираем приложение (Build) Открываем "Проект\AndroidManifest.template.xml", выставляем минимальную и целевую версию СДК. Делаем Clear проекта и снова Собираем приложение (Build) Находим файл "Проект\Android\Debug\AndroidManifest.xml", открываем и удаляем строку с разрешением, сохраняем. Делаем деплой и заливаем в консоль. Если нужно оставить разрешение для старых версий АПИ, то можно сделать так: Собираем приложение (Build) Находим файл "Проект\Android\Debug\AndroidManifest.xml", открываем, и в строку с разрешением добавляем " android:maxSdkVersion="Версия АПИ" ", версию выбираем исходя из ответа на вопрос "на какой версии АПИ данное разрешение перестало требоваться?", сохраняем. Делаем деплой и заливаем в консоль. Разрешение будет запрашиваться на всех версиях до той (включительно), которую вы указали. Если вам необходимо запрашивать разрешение на версиях АПИ 23 и выше, то необходимо добавить специальный метод в ваше приложение, я максимально упростил эту задачу. Статья с описанием: Добавляем метод onRequestPermissionsResult в приложение. Либа для скачивания:CustomActivityAndListener p.s. Надеюсь, правильно понял ваши вопросы...
    3 балла
  3. Ух... БОЛЬШОЕ ВСЕМ СПАСИБО. Залил в консоль приложение для получения пушей без GET_ACCOUNTS, заодно убрал READ_PHONE_STATE. Без READ_PHONE_STATE пуши приходят нормально... Приложение готово к публикации. Сейчас опубликую - получу отказ от гугла, и буду высылать им разрешающий документ... Со стороны выглядит полным маразмом... Неужели в консоли не могли предусмотреть раздел где можно было бы сразу перед публикацией прикрепить разрешающий документ? Очень странно это все выглядит у гугла, представляю что твориться в магазине apple - две мега корпорации для разработчиков - все для людей... P.S. Автору форума - памятник при жизни! Спасибо.
    2 балла
  4. если мне память не изменяет, то гугл будет ругать на разрешение READ_PHONE_STATE т.к. оно даёт доступ к многим параметрам устройства, для нее нужна политика конфиденциальности
    2 балла
  5. Вероятно, почти очевидно, что на устройствах с АПИ 14 будет вываливаться ошибка о том, что нет необходимого разрешения. Прочитайте 3 последних сообщения, где я привёл примеры касательно пушей. Ну и от себя могу добавить, зачем вам поддерживать столь древние устройства? Если верить Platform Versions, таких устройств осталось всего 0.7%. Сейчас можно смело ставить minSdkVersion = 16.
    2 балла
  6. Судя по сообщению ТС - ответ Да. Тогда должно помочь: Во втором пункте будет так: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" /> В targetSdkVersion можете указать версию на которой тестируете разрабатываете приложение или оставить так, как я написал выше. После этого, проверьте работу пушей на устройстве с Андроид 4.1.2 и выше.
    2 балла
  7. Ну смотрите, если я правильно понял, то данное разрешение требуется до Андроид 4.0.4 (включительно). И учитывая тот факт, что вы хотите поддерживать максимальное количество устройств, то должен сработать такой способ (описанный в сообщении выше): Строка будет выглядеть так: <uses-permission android:name="android.permission.GET_ACCOUNTS" android:maxSdkVersion="15" /> Разрешение будет запрашиваться на всех версиях до той (включительно), которую вы указали. Но, опять же нужно протестировать приложение как минимум на версиях Андроид 4.0 - 4.1.2 и Андроид 4.4.2 и выше. Это очень важно сделать, т.к. поведение может отличаться от ожидаемого. (мне с пушами пока не особо доводилось связываться, в теории, изменение в манифесте должно помочь). Если проверите, то обязательно отпишитесь сюда о результатах.
    2 балла
  8. x11

    AniIndicator при смене стиля

    Ну честно говоря, ради одной этой фишки устанавливать целый пакет компонент пока не вижу смысла. может что-то ещё понадобится, тогда посмотрим.
    1 балл
  9. вот тут есть демка (для Сиетла), посмотрите разрешения и используйте свой ключ
    1 балл
  10. Чтобы будить устройство.
    1 балл
  11. Да, на данный момент, только вручную. Если смотреть поверхностно, то android:minSdkVersion="14" android:targetSdkVersion="14" означает: 1) Приложение может запускаться на версиях от 14 АПИ (minSdkVersion) 2) Приложение разработано для 14 АПИ (targetSdkVersion) 3) Приложение при установке на АПИ отличное от версии 14 (targetSdkVersion) будет работать в режиме совместимости. Как известно в Андроиде существует обратная совместимость версий, что несомненно является плюсом, иначе просто пришлось бы собирать приложение для каждой версии Андроида 4) Эти параметры используются в Google Play и всех версиях Андроида начиная с 4 АПИ (если мне не изменяет память...) Т.о. если вы разрабатываете и тестируете на версии Андроид 6.0 (23 АПИ), т.е. вы используете новые методы АПИ и т.п., и при этом хотите оставить поддержку старых версий Андроида, вам необходимо: 1) Указать параметр "targetSdkVersion" равный 23 АПИ и разработать приложение в соответствии с требованиями 23 АПИ 2) Решить насколько старые устройства должны поддерживаться вашим приложением, допустим мы решили, что это будут устройства с Андроид 4.1.2 (16 АПИ) на борту, значит вам необходимо: указать параметр minSdkVersion равный 16 АПИ сделать проверку версии АПИ для всех методов из нового АПИ, в данном случае 23 3) И самое главное, протестировать приложение на Андроид 4.1.2 (16 АПИ) и Андроид 6.0 (23 АПИ) Про совместимость версий, раньше было написано в Гугл документации, сейчас не знаю... В некоторых моментах, поведение приложения будет разным. Например, при запросе разрешений в АПИ 19 и АПИ 23 (при вот таких параметрах android:minSdkVersion="16" android:targetSdkVersion="23"), обо всём этом написано в справке гугла. p.s. Из трёх сообщений можно статью уже запилить...
    1 балл
  12. Нашел ответ тут ImageObject.OwnsBitmap:=true; Тему можно закрывать.
    1 балл
  13. Минимальная версия СДК - это версия на которой приложение может работать, т.к. поддерживает его (в основном касается запросов в АПИ) Целевая версия СДК - это версия на которой приложение разрабатывалось/тестировалось. Например: android:minSdkVersion="14" android:targetSdkVersion="23". Приложение разрабатывалось для 23 АПИ, но будет работать и на 14. Тут важно предусмотреть ситуации, когда методы из 23 АПИ не будут работать на 14 АПИ, т.е. перед тем как запрашивать метод из АПИ, нужно сделать проверку СДК/АПИ на устройстве, иначе, в большинстве случаев, вывалится ошибка. Пример: Метод is5GHzBandSupported, как видим, добавлен в 21 АПИ, значит не будет работать в АПИ ниже этой версии. В коде мы напишем что-то подобное: if (TJBuild_VERSION.JavaClass.SDK_INT >= 21) then begin Запрос метода is5GHzBandSupported end; p.s. Не успел отправить ответ, сообщение уже удалили...
    1 балл
  14. Rusland

    ListView в Берлине и в Токио

    Похоже в последнем патче Токио и эту проблему решили. Еще бы подергивания в ЛистВью убрали...
    1 балл
  15. Вот так сделайте: procedure TForm1.LsvObjectsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); var ... oConnectImage: TListItemImage; r: integer; begin r:=Random(ImageList1.Count); oConnectImage:=aItem.Objects.FindDrawable('ConnectImage') as TListItemImage; if (oConnectImage<>nil) then begin oConnectImage.OwnsBitmap:=True; oConnectImage.ImageIndex:=r; end; ... end; Добавьте строчку oConnectImage.OwnsBitmap:=True. В соседней теме я долго бился над этим.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...