Лидеры
Популярный контент
Показан контент с высокой репутацией 08.07.2017 во всех областях
-
Политика конфиденциальности
Ingalime и 2 других отреагировал Andrey Efimov за вопрос
Вопросы: На какой версии Андроида проверяете? Вы точно удалили разрешение из манифеста? Проверьте итоговый манифест. Чуть позже, сам смогу проверить на разных версиях Андроид. Можете приложить файл манифеста из папки Проект/Android/Debug или Realese/. Ап. P.s. ок, вижу, вопрос решился.3 балла -
Политика конфиденциальности
Евгений Корепов и 2 других отреагировал Andrey Efimov за вопрос
Вероятно, вам требуется добавить ссылку на политику конфиденциальности в Консоли разработчика. Делается это так: 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 балла -
Политика конфиденциальности
Александр Жевлаков и ещё один отреагировал Anatoliy за вопрос
Ух... БОЛЬШОЕ ВСЕМ СПАСИБО. Залил в консоль приложение для получения пушей без GET_ACCOUNTS, заодно убрал READ_PHONE_STATE. Без READ_PHONE_STATE пуши приходят нормально... Приложение готово к публикации. Сейчас опубликую - получу отказ от гугла, и буду высылать им разрешающий документ... Со стороны выглядит полным маразмом... Неужели в консоли не могли предусмотреть раздел где можно было бы сразу перед публикацией прикрепить разрешающий документ? Очень странно это все выглядит у гугла, представляю что твориться в магазине apple - две мега корпорации для разработчиков - все для людей... P.S. Автору форума - памятник при жизни! Спасибо.2 балла -
Политика конфиденциальности
Andrey Efimov и ещё один отреагировал Равиль Зарипов (ZuBy) за вопрос
если мне память не изменяет, то гугл будет ругать на разрешение READ_PHONE_STATE т.к. оно даёт доступ к многим параметрам устройства, для нее нужна политика конфиденциальности2 балла -
Политика конфиденциальности
Kitty и ещё один отреагировал Andrey Efimov за вопрос
Вероятно, почти очевидно, что на устройствах с АПИ 14 будет вываливаться ошибка о том, что нет необходимого разрешения. Прочитайте 3 последних сообщения, где я привёл примеры касательно пушей. Ну и от себя могу добавить, зачем вам поддерживать столь древние устройства? Если верить Platform Versions, таких устройств осталось всего 0.7%. Сейчас можно смело ставить minSdkVersion = 16.2 балла -
Политика конфиденциальности
Anatoliy и ещё один отреагировал Andrey Efimov за вопрос
Судя по сообщению ТС - ответ Да. Тогда должно помочь: Во втором пункте будет так: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" /> В targetSdkVersion можете указать версию на которой тестируете разрабатываете приложение или оставить так, как я написал выше. После этого, проверьте работу пушей на устройстве с Андроид 4.1.2 и выше.2 балла -
Политика конфиденциальности
Ingalime и ещё один отреагировал Andrey Efimov за вопрос
Ну смотрите, если я правильно понял, то данное разрешение требуется до Андроид 4.0.4 (включительно). И учитывая тот факт, что вы хотите поддерживать максимальное количество устройств, то должен сработать такой способ (описанный в сообщении выше): Строка будет выглядеть так: <uses-permission android:name="android.permission.GET_ACCOUNTS" android:maxSdkVersion="15" /> Разрешение будет запрашиваться на всех версиях до той (включительно), которую вы указали. Но, опять же нужно протестировать приложение как минимум на версиях Андроид 4.0 - 4.1.2 и Андроид 4.4.2 и выше. Это очень важно сделать, т.к. поведение может отличаться от ожидаемого. (мне с пушами пока не особо доводилось связываться, в теории, изменение в манифесте должно помочь). Если проверите, то обязательно отпишитесь сюда о результатах.2 балла -
Ну честно говоря, ради одной этой фишки устанавливать целый пакет компонент пока не вижу смысла. может что-то ещё понадобится, тогда посмотрим.1 балл
-
TMapView ложит приложение
Anatoliy отреагировал Равиль Зарипов (ZuBy) за вопрос
вот тут есть демка (для Сиетла), посмотрите разрешения и используйте свой ключ1 балл -
1 балл
-
Политика конфиденциальности
Равиль Зарипов (ZuBy) отреагировал Andrey Efimov за вопрос
Да, на данный момент, только вручную. Если смотреть поверхностно, то 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 балл -
Нашел ответ тут ImageObject.OwnsBitmap:=true; Тему можно закрывать.1 балл
-
Политика конфиденциальности
ENERGY отреагировал Andrey Efimov за вопрос
Минимальная версия СДК - это версия на которой приложение может работать, т.к. поддерживает его (в основном касается запросов в АПИ) Целевая версия СДК - это версия на которой приложение разрабатывалось/тестировалось. Например: 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 балл -
Похоже в последнем патче Токио и эту проблему решили. Еще бы подергивания в ЛистВью убрали...1 балл
-
ListView в Берлине и в Токио
x11 отреагировал Евгений Корепов за вопрос
Вот так сделайте: 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 балл