2010-09-07 16 views

risposta

6

Purtroppo, allo stato attuale del mercato, non si è in grado di farlo . Secondo lo <supports-screens>reference doc - puoi filtrare solo in base alla "dimensione dello schermo" e, come hai notato, le risoluzioni WVGA/FWVGA sono "normali".

Si può avere la vostra applicazione rileva programatically utilizzando la classe DisplayMetrics utilizzando heightPixels e widthPixels ma questo è solo dopo che è stato acquistato/installato, che è quello che presumo si vuole evitare.

0

UPDATE: Questo non funziona (vedi commenti qui sotto)

Nella tua manifestare:

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="false" 
    android:smallScreens="false"/> 
+0

Secondo tabella 1 http://developer.android.com/guide/practices/screens_support.html, 240 dpi WVGA (480x800), 3.3 "-4.0" diagonale e FWVGA (480x854), 3.5" -4.0 "Gli schermi diagonali sono considerati" normali ", non" grandi ". Se non sbaglio, usando normalScreens = "false" come accennato, impedirai a quei dispositivi di scoprire l'app. Ho ragione? – yuku

+0

Hmm .. sei corretto. Errore mio. Non sono sicuro che tu possa farlo. Votare la domanda. –

2

Io ho mai provato questo su Android ma penso che questo dovrebbe funzionare:

  • Fai la tua applicazione di un'applicazione di prova, in modo che sia da scaricare gratuitamente, ma non diciamo libero dopo un giorno.
  • Ora nel vostro app fare una delle due cose, su App avviare o rilevare la dimensione dello schermo e solo visualizzare un messaggio generico dicendo questo risoluzione dello schermo non è supportata e visualizzare il pulsante di uscita. Un altro modo per farlo è quello di avere la cartella layout-480x320 con lo stesso messaggio e fornire un pulsante di uscita per uscire dall'app. In questo modo è possibile che tutte le dimensioni dello schermo non supportate visualizzino questo messaggio e non abbiano alcuna funzionalità. La cartella predefinita layout avrà l'interfaccia utente per le dimensioni dello schermo supportate, ovviamente. In questo modo su dispositivi non supportati puoi anche dire quali sono tutti i telefoni supportati nel messaggio.
  • Non dimenticare di avere <supports-screens android:anyDensity="false" /> nel file manifest.
  • Ora quando l'utente scarica la tua app su dispositivi non supportati non verrà addebitato alcun costo a causa di una prova di un giorno e inoltre verrà chiaramente indicato che il suo dispositivo non è supportato e può uscire e disinstallare l'app.

Questo non renderà la tua app invisibile su risoluzioni non supportate, ma consente un meccanismo pulito e semplice per comunicare all'utente.

+0

Ciò potrebbe compromettere il posizionamento nell'Android Market. Nella mia esperienza di pubblicazione personale, la percentuale di "utente attivo" sembra essere uno dei fattori più importanti nell'algoritmo di mercato. –

0

Per quanto riguarda l'app Android , non ne sono sicuro. Buona domanda.

Tuttavia, se si sta scrivendo un'app browser in HTML/Javascript, è possibile effettuare il check-in utilizzando una combinazione di screen.width/height, document.documentElement.clientWidth/Height e alcuni altri metodi. Se lo volessi, sarebbe un modo per bloccare il tuo sito dalle macchine a bassa risoluzione.

È inoltre possibile specificare che i CSS reagiscono in modo diverso in base alle dimensioni dello schermo utilizzando le query multimediali, sebbene ciò sia meno relativo al blocco e ulteriori informazioni sull'adattamento per adattarsi all'ambiente.

Il sito web Quirksmode has a good article circa la complessità del dtermining dimensioni dello schermo e altri attributi in un ambiente browser mobile.

+0

perché -1? Non capisco. – Sajmon

1

dopo aver colpito google difficile ho trovato config come manifestare:

<compatible-screens> 
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"] 
     android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] /> 
... 

come descritto here.

nel tuo caso è possibile ridurre download per i seguenti formati:

WVGA800 (480x800) WVGA854 (480x854) 600x1024

questi schermi hanno una quota del mercato del 71%.

scorrere verso il basso sui seguenti collegamenti per trovare quote di mercato e "nomi" di risoluzione.

market share

scroll down to find resolution names

Speranza che è helpin' fuori. Acclamazioni

Problemi correlati