Настраивать только устройства с высоким разрешением (пикселей) на 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 есть хорошая статья о тонкостях определения размера экрана и других атрибутов в среде мобильного браузера.