|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|||||||||||
Несколько разнородных неясностей при создании приложения27.02.2019, 20:44. Показов 4386. Ответов 60
Метки нет (Все метки)
Возникло несколько вопросов. Чтоб не плодить темы изложу всё в одной....
1. Можно ли (и нужно) удалить из проекта стандартные векторные xml иконки приложения (созданные студией), если при этом созданы свои иконки .png под разные DPI ? https://www.cyberforum.ru/atta... 1551289378 2. В приложении необходимо использовать определение местоположения. В манифесте есть запись
в коде есть метод, который получает координаты, а в нём созданная по подсказке студии какая-то хрень (см. ниже комментария). Без этой записи студия выражает недовольство возможной некорректностью работы с новыми API. Что это означает, правильно ли я поступаю, используя подобную запись? на 6-ом андроиде, впрочем, работает. но как-то неприятно, когда сам не понимаешь что написал...
https://www.cyberforum.ru/atta... 1551288984 Это возможно из-за одновременного появления на экране toast-a и всплывающего окна запроса на разрешение ? или я ошибаюсь ? Как бы это побороть (желательно не отказываясь от toast-ов) ?
0
|
|||||||||||
| 27.02.2019, 20:44 | |
|
Ответы с готовыми решениями:
60
Несколько неясностей в C++ Как правильно передать несколько разнородных данных из одной формы в другую?
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 27.02.2019, 20:50 | |
|
Abakus, 1 - там видно, что только для 26+ API, эти иконки чуть иначе формируются (бэк и форенграунд есть), посмотри, из чего состоят, можешь выпилить и заменить + то, что синим - обычные иконки;
2 - https://developer.android.com/... requesting .
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|
| 27.02.2019, 21:02 [ТС] | |
|
jaman_smk,
1.Да это понятно - векторные они, я ставил приложение на 8.0 Android (Oreo который.) встали эти стандартные. Если их удалить - установятся мои как я понимаю... не возникнет ли проблем на новейших версиях андроида ? 2. Ох, насколько бы меньше было вопросов (у меня) знай я английский ! Ну ничего - можно помучить переводчик (если пойму). А если кратко: Я всё правильно сделал ? или нельзя сказать однозначно ?
0
|
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 27.02.2019, 21:14 | |
|
Abakus, 1. если будет только .png - не возникнет;
2. нужно для того, чтобы пользователь знал, на что он согласие дает. Трекать расположение - сильно конфиденциально, не всем заходит, поэтому и с разрешения устанавливается. Важно отлавливать и те ситуации, когда отказ идет не в первый раз, и когда пользователь отказался давать разрешение вообще (обычно следует показать диалог, что разрешения нет и кнопку в Настройки вставить).
1
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|
| 27.02.2019, 21:24 [ТС] | |
|
jaman_smk,
1. Ясно, Спасибо! 2. Да это и понятно, что только с согласия пользователя. Но что характерно, при установке приложения имеем сообщение, что приложению не требуется никаких разрешений. Но я то знаю, что это не так. В манифесте это прописано. А потом только, когда при работе возникает обращение к функции GPS (см. приведенный метод) выскакивает и запрос на разрешение, и сообщение о каких-то наложениях (см. третью часть вопроса) и если дам разрешение - ещё и toast , мол подождите, геоданные уже в пути... на Kitkat этого в помине нет. Только от 6.0 андроида и выше....
0
|
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 27.02.2019, 21:30 | |
|
Abakus, это с 6 Android и пошло (ссылку кидал). У тебя, скорее всего, настроено, чтобы запрос срабатывал только при взаимодействии с GPS (так и нужно делать, не особо хорошо пользователя тыкать в запросы при старте приложения).
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|
| 27.02.2019, 21:45 [ТС] | |
|
jaman_smk, а обойти это дело никак нельзя? Я имею ввиду не молчаливая установка. Но запрос о том, что приложению может потребоваться доступ к GPS выдавать в момент установки (с возможностью отказа например).
А то ведь не логично: при установке: - приложению не требуется никаких разрешений. при работе: - дай разрешение, но прежде убери наложения. какие - такие наложения ? кто их знает... или я как-то некорректно составил метод работы с gps ?
0
|
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 28.02.2019, 06:45 | |
|
Abakus, в момент установки - нет. https://developer.android.com/... ions?hl=ru . Дело в том, что пользователь может при установке отказаться, а потом, просто не найти возможности включить (если не сказать ему, что в настройках делается, но это - тот же самый диалог с разрешением). Наложения? Разрешения в Манифесте покажи, которые указаны.
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
||||||
| 28.02.2019, 15:57 [ТС] | ||||||
|
ну в манифесте у меня только одно разрешение на точное местоположение, т. е. запись
Есть смутная догадка, что это из за того, что в момент, когда появляется окно с просьбой дать разрешение на геолокацию одновременно выскакивает toast c надписью " Ждите! ЖПС уже ищет Ваше местоположение! " Хотя, это лишь моё предположение..... Может в манифесте как-то прописать разрешение на одновременное использование нескольких всплывающих сообщений (в данном случае диалоговое окно запроса дать разрешение и toast) ? или как-то иначе от этого избавиться ?
0
|
||||||
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 28.02.2019, 16:12 | |
|
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|
| 28.02.2019, 16:37 [ТС] | |
|
jaman_smk,
кстати да. это так себя ведет на шестом андроиде..... (маршмалой который) .... интересное чтиво. Особенно комментарии, и особенно этот: "Пипец андроид охренел ((( без этой статьи бы вообще не разобралась, спасибо автору! Выкинуть этот андоид и пользоваться ios - вот сейчас это единственное желание" вот интересно - Google не стыдно ? За то, что подобные желания вызывают у пользователей... То есть как я понял - однозначного решения нет. цитата: "в некоторых случаях вызывать появление ошибки может больше, чем одно приложение. Порой выявить "виновника" невероятно сложно. В таких случаях проще продолжить работу с новым приложением, запретив все из них, а затем повторно активировать программы из списка по мере необходимости."
0
|
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 28.02.2019, 16:51 | |
|
Abakus, это больше для ознакомления. У тебя явно вызывается, тоесть смотреть нужно, что вызвать может. Копать можно начать отсюда: https://stackoverflow.com/ques... other-apps (там примеры есть использования наложения, проверь, есть ли у тебя такое).
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|
| 28.02.2019, 18:00 [ТС] | |
|
нет. в моем приложении ничего даже близко нет. Из всплывающего - только toast-ы .....
кстати о toast-е, и о том, почему я именно его подозреваю... Вот я установил приложение, нажал на checkBox "Здесь! (по GPS)" (см. скрин из первого поста) - и сразу одновременно выскакивает запрос на "Разрешить приложению доступ к местоположению" и одновременно toast - "Ждите! ЖПС уже ищет Ваше местоположение!" (см. кусок кода из первого поста) Tеперь если нажать на "Разрешить приложению доступ к местоположению" до того, как исчезнет toast (то есть быстро разрешить , пока toast не исчез) - то возникает это сообщение о наложениях. Но если подождать пока исчезнет toast и только потом нажать - "Разрешить приложению доступ к местоположению" , то никаких сообщений о наложении не появляется. Все работает в штатном режиме.... Можно конечно убрать toast из кода (см. мой первый пост) и проверить.... Но хотелось бы иметь иное решение......
0
|
|
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 28.02.2019, 19:50 | |
|
Abakus, не всмотрелся сразу. Измени обработку запроса разрешения: сначала чекаешь, есть ли оно, затем запрос. Toast выводи только при ситуации, когда разрешение есть, так как текст указывает та то, что запрос местоположения идет, хотя такого быть не может (ибо разрешение не выдано). Т.е.:
if (разрешение есть) показываешь Toast, выполняешь нужные действия else запрос разрешения без Toast. Тебе вообще не нужен Toast, если разрешения нет, try - catch выпили, делй через if - else.
1
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
|||||||||||
| 01.03.2019, 00:53 [ТС] | |||||||||||
|
jaman_smk,
Отдельное Большое Спасибо! Сделаем, но уже завтра.... Вот я тоже подумал, что где-то перемудрил с логикой. Учусь только, некоторых тонкостей просто не понимаю.... Добавлено через 2 часа 22 минуты Если я верно понял, нужно сделать так:
0
|
|||||||||||
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 01.03.2019, 07:15 | |
|
Abakus, почти. Нужно еще добавить обработку принятия / отказа разрешения. Делается это в методе onRequestPermissionsResult(), если разрешение дано, можешь вызывать Toast и прочее (чтобы пользователь не нажимал на кнопку повторно). Так же с CheckBox проработай вариант, когда разрешения нет (зачем его держать прожатым, если это указывает на то, что доступ к гео есть, хотя разрешения нет).
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
||||||
| 01.03.2019, 12:42 [ТС] | ||||||
|
jaman_smk, то есть что то типа этого ?
0
|
||||||
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
|
| 01.03.2019, 12:56 | |
|
Abakus, если разрешения нет - запроси его. В onRequestPermissionsResult() придет ответ на действие пользователя в диалоге запроса разрешения, там и обрабатывай. Примеров полно, есть тут: https://github.com/googlesampl... ivity.java
0
|
|
|
4 / 3 / 1
Регистрация: 17.02.2018
Сообщений: 119
|
||||||
| 01.03.2019, 14:34 [ТС] | ||||||
|
вот чего натворил. Прямо со студии скопировал. jaman_smk, зацените пожалуйста (волшебное слово) опытным глазом. Если не трудно конечно ....
0
|
||||||
|
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
|
||||||
| 01.03.2019, 15:10 | ||||||
|
Abakus,
Добавлено через 12 минут Abakus, + чуть изменил бы обработку отказа, например, отображал бы диалог и мониторил информацию о том, отказался ли пользователь от разрешения совсем (можно нажать при 2 и более запросе на кнопку, которая гарантирует, что пользователю не нужно твое разрешение, и что оно ему не покажется больше, тогда запрос ты не сделаешь). Для таких сиуаций можно восмользоваться методом shouldShowRequestPermissionRationale(), который может указать на тип отказа.
0
|
||||||
| 01.03.2019, 15:10 | |
|
Помогаю со студенческими работами здесь
20
Ошибка при создании приложения Помощь при создании ГУИ-приложения Ошибка при создании приложения Composer Ошибка при создании веб-приложения Ошибка при создании консольного приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|