2011-10-04 14 views
26

Ze względów biznesowych chciałbym ograniczyć moją aplikację na Androida wyłącznie do tabletów.Manifest Androida Ogranicz do tabletów

W tej chwili mogę ograniczyć aplikację do urządzeń Honeycomb przez ustawienie:

android:minSdkVersion="11" 

ale kolejną wersję Androida (Ice Cream Sandwich) ma wyższy numer wersji zarówno dla tabletu i wersjach telefonów systemu operacyjnego.

Czy istnieje jakiś atrybut manifestu, który mogę określić, aby ograniczyć go do tabletów? (Honeycomb lub nowszej tabletka)

+0

Oto [notka] (http://android-developers.blogspot.com/2011/09/preparing -for-handsets.html) specjalnie dla Ciebie. – ernazm

Odpowiedz

45

Znajdziesz ten link niesamowite: http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html

problem z tym, co nazywamy „tabletka” jest to, że definicja nie jest taka sama dla evryone. Myślę o Archos 5IT, który ma taki sam rozmiar jak telefon, ale jest oznaczony nazwą "tabletu". Ten sam problem z Dell Streak.

bym nie PERSONNALY nazwać tabletka ..

Więc jeśli chcesz ograniczyć do 7 lub 5 cali urządzeń, należy użyć xlargeScreens i largeScreens.

(Jest też błąd w HTC Flyer - 7 inches- który wykorzystuje largeScreens, winę HTC)

myślę, że gra z Przekątna w jawnym będzie pasować do Twoich potrzeb:

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

enter image description here

+0

Musiałem użyć powyższego kodu, aby zatrzymać system operacyjny 3.2 przed udostępnieniem mi kompilacji widoku. popup (coś specyficznego dla 3.2 w tej chwili) android: xlargeScreens = "true" – DJPlayer

+0

jestem nie dostać tę opcję w moim manifet plików Androidzie: requiresSmallestWidthDp = "600" android: compatibleWidthLimitDp = "całkowitą" android: largestWidthLimitDp = "całkowitą" ja Używam wersji Androida 3.0 ... –

+1

zastąp integer z czymś .. Lub usuń linię! –

2
   android:requiresSmallestWidthDp="600" 
       android:compatibleWidthLimitDp="integer" 
       android:largestWidthLimitDp="integer" 

Uważaj, Android Market obecnie nie obsługuje tego atrybutu do filtrowania (z oficjalnego przewodnika).

ekran wsparcie

stosowanie dużych i XLarge i teraz masz dwie opcje:

  • wykluczyć dużych urządzeń z ekranem, które nie są tabletki ręcznie z Rynku (+500 ...)

  • Można mierz programowo szerokość i jeśli szerokość < 600 mówi użytkownikowi, że aplikacja nie jest kompatybilna.

Mimo, że będziemy musieli czekać na Rynku filtrować przez Androida: requiresSmallestWidthDp = "600" ...

+0

* Zachowaj ostrożność * przy takim podejściu od teraz! Tablet 7 "o rozdzielczości Full HD (1920 x 1080) ma około 315 ppi, czyli jest urządzeniem XHDPI/320. 1080/(320/160) to 540 dp i wyklucza go z limitu sw600dp. Od teraz 7" przy 1080p tablety będą prawdopodobnie powszechne (plotka fullHD Nexusa 7 dzwoni dzwonkiem), więc byłoby krępujące powiedzenie takiego użytkownika, że ​​jego tablet nie jest tabletem! – davidcesarino

Powiązane problemy