2011-10-04 2 views
26

Per motivi aziendali, desidero limitare la mia applicazione Android esclusivamente ai dispositivi tablet.Manifesto Android Limita ai tablet

Al momento, posso limitare l'applicazione per dispositivi Honeycomb impostando:

android:minSdkVersion="11" 

Ma la prossima versione di Android (Ice Cream Sandwich) avrà un numero di versione superiore sia per i tablet e le versioni del telefono del sistema operativo.

Esiste un attributo manifest che posso specificare per limitarlo ai dispositivi tablet? (A nido d'ape o qualsiasi versione tablet successiva)

+0

Ecco il [blog] (http://android-developers.blogspot.com/2011/09/preparing -for-handsets.html) appositamente per te. – ernazm

risposta

45

Troverete questo link impressionante: http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html

Il problema con quello che noi chiamiamo "tablet" è che la definizione non è lo stesso per il personale de. Penso a Archos 5IT delle stesse dimensioni di un telefono, ma con il nome "tablet". Stesso problema con Dell Streak.

vorrei personnaly non chiamare che una tavoletta ..

Quindi, se si desidera limitare ai dispositivi 7 o 5 pollici, è necessario utilizzare xlargeScreens e largeScreens.

(C'è anche un bug in HTC Flyer - 7 pollici- che utilizza largeScreens, colpa HTC)

immagino che giocare con dimensione dello schermo in manifesto si adatta alle vostre esigenze:

<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

Ho dovuto usare il codice sopra per fermare OS 3.2 dal darmi un comp view. popup (qualcosa di specifico per 3.2 al momento) Android: xlargeScreens = "true" – DJPlayer

+0

Io non ottenere questa opzione nel mio manifet Android File: requiresSmallestWidthDp = "600" android: compatibleWidthLimitDp = "integer" android: largestWidthLimitDp = "integer" i sto usando la versione Android 3.0 ... –

+1

sostituire intero con qualcosa .. O rimuovere la linea! –

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

Attenzione, Android Market attualmente non supporta questo attributo per il filtro (dalla guida ufficiale).

schermo supporto

uso grande e xlarge e ora si hanno due opzioni:

  • escludono i dispositivi di schermo di grandi dimensioni che non sono compresse manualmente dal mercato (500 ...)

  • Puoi misurare a livello di codice la larghezza e se la larghezza è < 600 dire all'utente che l'app non è compatibile.

Mentre quello dovremo aspettare che il mercato per filtrare per Android: requiresSmallestWidthDp = "600" ...

+0

* Fai attenzione * con questo approccio da ora in poi! Un tablet da 7 "con risoluzione Full HD (1920x1080) ha circa 315 ppi, quindi è un dispositivo XHDPI/320. 1080/(320/160) equivale a 540 dp e lo esclude dal limite di sw600dp. D'ora in poi, 7" @ 1080p probabilmente i tablet saranno comuni (la voce Nexus 7 fullHD suona un campanello), quindi sarebbe imbarazzante dire a tale utente che il suo tablet non è un tablet! – davidcesarino