Если мы говорим об Android Studio и её AVD Manager, то там не нужно вообще руками задавать плотность. При создании эмулятора задаём ему разрешение экрана и диагональ, а плотность вычисляется. Ну и чтобы изменить плотность достаточно изменить либо диагональ, либо разрешение.
orium всё верно написал. В отличие от iOS, где такая фича идёт из коробки в ОС, в Android разработчику не предоставляется никакой инструментарий для реализации подобной функции. Если у какого-то приложения и есть бэйджи на иконке, то сделано это адскими костылями, скорее всего заточено под определенную версию ОС/лаунчер и, вполне вероятно, сломается при смене лаунчера или обновлении ОС.
Вряд ли причина в платежах. В самом приложении запрещается реализовывать оплату сторонними платежными системами только если оплата за услугу не возможна ещё и где-то на сайте. Пример - всякие антивирусы, у них лицензию можно покупать на сайте. Если в приложении никаких покупок не встроено, то гугл вообще не должно интересовать что возможно на каком-то сайте, к которому приложение имеет весьма косвенное отношение.
Думаю нужно подать апелляцию с описанием чего приложение делает и что делает оно это со своим собственным сервером, а не чужим. В ответе могут указать что именно им не нравится и что от вас требуется.
sitev_ru: Выводить диалог сервис не должен - по гайдлайнам сервис может только уведомление показать. А вообще хорошее решение для такого кейса - использовать event bus. Активити должны подписываться на получение события в onResume и отписываться в onStop, а сервис может проверять наличие подписчикам на событие - если есть, то отправлять событие, если нет, то выводить уведомление. Решение проверенное, кода минимум по сравнению с ручным отслеживание жизненного цикла активити. Сказанное справедливо при использовании https://github.com/greenrobot/EventBus, вероятно и с другими библиотеками можно сделать.
Сергей: Ну вообще-то 7000 за 40 часов это 28000 за месяц. В нашем регионе вполне себе средняя зарплата. ТС ведь тоже не в Мск и не в СПб, насколько я понял.
xmoonlight: Да, есть готовое приложение, но показать не могу, т.к. оно для служебного пользования силовиками, и в Google Play его нет, естественно.
Могу сказать, что карту России целиком у меня законвертить не вышло - процесс весьма требовательный к объему ОЗУ и подходящего железа у нас попросту не нашлось. Пришлось конвертировать регионы по отдельности и предлагать пользователю выбирать нужный.
Работает векторная карта чуть медленнее растровой. Присутствует геморрой с конвертированием карт. Но в целом плюсы перевешивают минусы.
OSM в растре для более-менее крупного участка местности будет весить неприлично много. Есть проект MapsForge (https://github.com/mapsforge/mapsforge), который позволяет сгенерировать векторную карту из данных OSM, а её можно в том же osmdroid показывать через свой провайдер.
Советовать ничего не буду, так как чтобы предложить решение нужно хорошо понимать задачу, которую нужно решить.
Но вообще-то не вижу проблемы в использовании EventBus. У меня в нескольких проектах используется для связи сервисов с UI и всё работает с sticky events, в UI всегда актуальное состояние вне зависимости от того когда пришло событие.
Если же нужно вести какой-то лог событий, тогда нужно использовать сервис и БД...
KEY_DOWN не вижу, вижу ACTION_DOWN, а это начало любого нажатия на тач, в том числе свайпа пейджера. Программа делает ровно то, что ей указано.
И я что-то не вижу простого способа отличить свайп от нажатия в вашем случае. Свайп будет выглядеть как последовательность ACTION_DOWN + ACTION_MOVE * N + ACTION_UP. Нажатие - как ACTION_DOWN + ACTION_UP. Т.е. отличить их можно по наличию ACTION_MOVE, но вам то уже нужно выполнить определенные действия на ACTION_DOWN... В общем, на мой взгляд просто не тот способ выбран для достижения цели)))
Я бы посоветовал использовать ViewPropertyAnimator, если уж StateListDrawable не подходит.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.