2011-01-06 14 views
23

Questa è una domanda in due parti. Innanzitutto, è possibile rilevare se Flash è installato su un dispositivo Android? In secondo luogo, se è installato, è possibile visualizzare un video flash in un'attività? Sto pensando che dovresti utilizzare un widget WebView all'interno della tua attività per visualizzare il contenuto Flash invece di qualcosa come una VideoView. Flash è supportato anche all'interno del widget WebView o è supportato solo dall'app Browser effettiva?Rileva se Flash è installato su Android e incorpora un video Flash in un'attività

risposta

31

La risposta ad entrambe le parti delle domande è "sì", con la seconda parte dipendente dal primo.

(1) Rilevamento se Flash è installato.

Utilizzare il PackageManager per tentare di ottenere le informazioni sull'applicazione per il pacchetto di Flash Player. Si creerà un'eccezione di tale pacchetto non esiste.

boolean flashInstalled = false; 
try { 
    PackageManager pm = getPackageManager(); 
    ApplicationInfo ai = pm.getApplicationInfo("com.adobe.flashplayer", 0); 
    if (ai != null) 
    flashInstalled = true; 
} catch (NameNotFoundException e) { 
    flashInstalled = false; 
} 

(2) in dotazione viene installato Flash, è possibile visualizzare un video Flash all'interno della vostra attività incorporando entro un WebView. Il plugin Flash fornisce lo stesso supporto per una WebView come browser nativo.

Se il check in Parte 1 restituisce false, si consiglia di nascondere la tua WebView e sostituirla con un messaggio di errore che spiega il requisito di Flash o, meglio ancora, un collegamento per scaricare il plug-in Flash da Android Market .

+3

Se hai intenzione di collegarti al Market in assenza di Flash, dovresti controllare per assicurarti che Market sia installato prima di farlo, giusto Reto? ;) – Josh

+0

@Josh, questa app è disponibile solo tramite il mercato ufficiale, quindi non sono troppo preoccupato per questo. A mio parere, un dispositivo Android senza le app ufficiali di Google (gmail, mercato, mappe, calendario, ecc.) Non vale la pena possedere. –

+0

Un punto chiave che hai tralasciato: webView.getSettings(). SetPluginsEnabled (true); Girerai le ruote per un po 'cercando di farlo funzionare finché non trovi questa impostazione :) –

Problemi correlati