2013-03-12 2 views
4

Я хочу запускать свое приложение только в планшетах. Поэтому я заявил ниже код в файле манифеста:Лимит манифеста только для планшетов, но приложение по-прежнему доступно для Samsung Galaxy S2

<supports-screens 
    android:smallScreens="false" 
    android:normalScreens="false" 
    android:largeScreens="true" 
    android:xlargeScreens="true" 
    android:anyDensity="false" 
    android:requiresSmallestWidthDp="600"/> 

Но когда я подключить Samsung Galaxy S2 телефон (hdpi 480x800), он по-прежнему отображается в Chooser Android устройства в Eclipse.

Я хочу поддерживать только 7 "и 10" планшеты. Как я могу это сделать?

+4

AFAIK, Eclipse не фильтрует размер экрана. Play Store делает для классических кодов размера экрана (например, 'xlarge'). – CommonsWare

ответ

3

Возможно, вы захотите посмотреть here.

манифеста ограничения вы написали не совсем правильно для этой цели:

Используйте это:

<supports-screens android:smallScreens="false" 
        android:normalScreens="false" 
        android:largeScreens="false" 
        android:xlargeScreens="true" 
        android:requiresSmallestWidthDp="600" /> 

Это описывает поддержку размера экрана вашего приложения двумя различными способами:

Он заявляет, что приложение не поддерживает размеры ведра экрана «маленький», «обычный» и «большой», которые традиционно не являются таблетками

Он заявляет, что для приложения требуется размер экрана с минимальной полезной площадью, которая не менее 600dp.

Первый способ для устройств под управлением Android 3.1 или старше, поскольку эти устройства объявляют свой размер на основе обобщенного размера экрана ковши. Атрибут requireSmallestWidthDp предназначен для устройств под управлением Android 3.2 и новее, что добавило возможность приложениям определять свои требования к размеру на основе минимального количества пикселей, не зависящих от плотности. В этом примере приложение объявляет минимальное требование ширины 600dp, что обычно подразумевает экран размером 7 "или более.

Ваш выбор размера может отличаться, конечно, от того, насколько хорошо ваш дизайн работает на разных размерах экрана; например, если ваш дизайн хорошо работает только на экранах размером 9 "или больше, вам может потребоваться минимальная ширина 720dp.

Уловка заключается в том, что вы должны скомпилировать приложение против Android 3.2 или выше, чтобы использовать атрибут requireSmallestWidthDp. Старые версии не понимают этот атрибут и повышают ошибку времени компиляции. Самое безопасное, что нужно сделать, - это разработать приложение против платформы, которая соответствует уровню API, который вы установили для minSdkVersion. Когда вы делаете окончательную подготовку для создания кандидата на выпуск, измените цель сборки на Android 3.2 и добавьте атрибут requireSmallestWidthDp. Версия Android старше 3.2 просто игнорирует этот атрибут XML, поэтому нет риска сбоя во время выполнения.

0

Вы не можете отфильтровать приложение от установки на телефонах (через Eclipse или если он загружен из внешнего источника). Этот параметр будет запрещать загрузку приложения на телефоны с Google Play Market.

Смежные вопросы