Настраивать только устройства с высоким разрешением (пикселей) на Android Маркете
Я хочу опубликовать приложение, которое специально работает только на экранах 800x480 или выше.
Я не хочу, чтобы пользователи с 480x320, 320x240 и т.д. устройств получали его с Android Market. Как его настроить?
"Фильтры рынка" , кажется, есть ответ, но я до сих пор его не понимаю.
Ответы
Ответ 1
К сожалению, в текущем состоянии рынка вы не можете этого сделать. Согласно <supports-screens>
reference doc - вы можете фильтровать только по "размеру экрана", и, как вы отметили, разрешение WVGA/FWVGA являются "нормальными".
Ваше приложение может запрограммировать его с помощью класса DisplayMetrics
, используя heightPixels
и widthPixels
, но это только после того, как оно было куплено/установлено, чего я предполагаю, что вы хотите избежать.
Ответ 2
Я не пробовал это на Android, но я думаю, что это должно работать:
- Сделайте свое приложение пробным приложением, чтобы его можно было бесплатно загрузить, но не бесплатно после одного дня.
- Теперь в вашем приложении выполните одно из двух действий: при запуске приложения либо определите размер экрана, либо просто покажите общее сообщение о том, что это разрешение экрана не поддерживается и отображает кнопку выхода. Другой способ сделать это состоит в том, чтобы папка
layout-480x320
отображала одно и то же сообщение и предоставляла кнопку выхода для выхода из приложения. Таким образом, вы можете иметь все не поддерживаемые размеры экрана, отображая это сообщение и не обладая никакой функциональностью. По умолчанию папка layout
будет иметь пользовательский интерфейс для поддерживаемых размеров экрана. Таким образом, на не поддерживаемых устройствах вы также можете сказать, какие телефоны поддерживаются в сообщении.
- Не забудьте оставить
<supports-screens android:anyDensity="false" />
в файле манифеста.
- Теперь, когда пользователь загружает ваше приложение на не поддерживаемые устройства, он/она не будет списываться из-за однодневной пробной версии, а также будет ясно показано, что его/ее устройство не поддерживается и может выйти и удалить приложение.
Это не сделает ваше приложение невидимым для не поддерживаемых разрешений, но позволяет использовать чистый и простой механизм для связи с пользователем.
Ответ 3
после удара google hard я нашел в качестве манифеста config:
<compatible-screens>
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] />
...
как описано здесь.
в вашем случае вы можете уменьшить загрузку до следующих размеров:
WVGA800 (480x800)
WVGA854 (480x854)
600x1024
эти экраны имеют 71% доли рынка.
прокрутите вниз по следующим ссылкам, чтобы найти доли рынка и "имена" разрешения.
доля рынка
прокрутите вниз, чтобы найти названия разрешений
Надеюсь, что это поможет. Приветствия
Ответ 4
ОБНОВЛЕНИЕ: Это не работает (см. комментарии ниже)
В вашем манифесте:
<supports-screens
android:largeScreens="true"
android:normalScreens="false"
android:smallScreens="false"/>
Ответ 5
Что касается приложения android app, я не уверен. Хороший вопрос.
Однако, если вы пишете приложение для браузера в HTML/Javascript, вы можете проверить Javascript, используя комбинацию screen.width/height, document.documentElement.clientWidth/Height и несколько других методов. Если бы вы действительно этого хотели, это было бы способом блокирования вашего сайта с компьютеров с низким разрешением.
Вы также можете указать, что CSS будет реагировать по-разному в соответствии с размером экрана, используя медиа-запросы, хотя это будет меньше о блокировке и больше об адаптации в соответствии с окружающей средой.
На веб-сайте Quirksmode есть хорошая статья о тонкостях определения размера экрана и других атрибутов в среде мобильного браузера.