Come verificare se i player Flash sono installati in Android

come posso facilmente controllare Javascript nel browser web Android se Adobe Flash Player 10.1 (https://market.android.com/details?id=com.adobe.flashplayer) è stato scaricato da Android Market e installato?

  • Test di unità Android che richiedono un context
  • Come posso fornire i parametri a una function di test che è stata lanciata usando il command adb shell am Instrumentation
  • Elemento di azione azione stilizzata ActionBarSherlock
  • Ottieni il tag di referrer Android Google Analytics
  • Ricevitore di trasmissione batteria dichiarato nel file manifesto non funziona?
  • Android, class non trovata dal file jar importto
  • Aggiornamento : Grazie per le risposte, ma ho bisogno del codice di controllo per Javascript , poiché sto facendo la soluzione basata sul web (HTML / Javascript / CSS), non l'applicazione Java nativa. Una piccola parte dell'applicazione web viene eseguita in Flex, quindi il file .swf viene visualizzato nell'elemento <div> , ma prima di fare ciò vorrei verificare se Flash Player è installato o no.

  • Bug di authorization di Google Fit (con errori 5005, 5000 e 5015) su WatchFace, WatchConfig e l'applicazione di accompagnamento
  • Come cancellare l'area path dalla canvas (Android)
  • Esiste stringByEvaluatingJavaScriptFromString per Android
  • Inserimento di un file di grandi size in Android
  • Come impostare la casella di controllo sul lato destro del text
  • Come creare un file di image della scheda SD per l'emulatore Android?
  • 3 Solutions collect form web for “Come verificare se i player Flash sono installati in Android”

    C'è qualche motivo particolare per controllare da Javascript e non dal codice Java?

    Dal codice Java, puoi fare qualcosa di simile:

      Intent intent = new Intent(); intent.setComponent(new ComponentName("com.adobe.flashplayer", "com.adobe.flashplayer.FlashExpandableFileChooser")); PackageManager pm = getPackageManager(); List<ResolveInfo> activities = pm.queryIntentActivities(intent, 0); if (activities != null && activities.size() > 0) { Toast.makeText(this, "Flash is installed!", Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "Flash not installed!", Toast.LENGTH_LONG).show(); } 

    Funziona bene sul mio desiderio di HTC.

    Se stai chiedendo where ho preso il nome di class com.adobe.flashplayer.FlashExpandableFileChooser da, ho semplicemente preso da AndroidManifest.xml del lettore Flash.

    Sembra così:

     <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="101106016" android:versionName="10.1.106.16" package="com.adobe.flashplayer" > <application android:label="Adobe Flash Player 10.1" android:icon="@7F020000" > <activity android:name="com.adobe.flashplayer.FlashExpandableFileChooser" > <intent-filter > <action android:name="android.intent.action.MAIN" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="FlashExpandableFileChooser" > </category> </intent-filter> </activity> <service android:name="com.adobe.flashplayer.FlashPaintSurface" > <intent-filter > <action android:name="android.webkit.PLUGIN" > </action> </intent-filter> <meta-data android:name="type" android:value="native" > </meta-data> </service> </application> <uses-permission android:name="android.webkit.permission.PLUGIN" > </uses-permission> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="5" android:maxSdkVersion="10" > </uses-sdk> </manifest> 

    Puoi seguire le istruzioni qui su come call questo codice dal tuo codice JavaScript. Specificamente esaminare il metodo setJavaScriptInterface

    Per rilevare direttamente da JavaScript, utilizzare questo snippet:

     flashInstalled = false; if (navigator.plugins && navigator.plugins.length) { for (n = 0; n < navigator.plugins.length; n++) { if (navigator.plugins[n].name.indexOf('Shockwave Flash') != -1) { flashInstalled = true; break; } } 

    È ansible utilizzare PackageManager:

    http://developer.android.com/reference/android/content/pm/PackageManager.html

    Controllare il metodo getInstalledApplications ().

    Un altro approccio per fare lo stesso lavoro

      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; } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.