2010-05-31 5 views

Répondre

14

Vous avez juste besoin pour activer les plug-ins pour le WebView, comme ceci:

WebView mWebView = (WebView) findViewById(R.id.WebView01); 
mWebView.getSettings().setPluginsEnabled(true); 

Je pense que vous devez également Flash pour être installé, comme dans Android 2.2 et plus. J'espère que cela aide.

Cette méthode est maintenant obsolète, je vais essayer d'expliquer cela plus en détail. Voir here

+1

Vous pouvez aussi avoir besoin 'android: hardwareAccelerated = "true" 'dans le manifeste si son apk> 3.0 – Nick

+0

Ne sait pas pour le" hardwareAccelerated ", mais la méthode que j'ai proposée est maintenant obsolète. [link] (http://developer.android.com/reference/android/webkit/WebSettings.html#setPluginsEnabled%28boolean%29) Je vais essayer d'expliquer cela plus en détail. – MrBuBBLs

9

Je crois que vous pouvez

WebSettings webSettings = myWebView.getSettings(); 
webSettings.setPluginState(PluginState.ON); 

fonctionnera.

+3

C'est la bonne réponse, maintenant que setPluginsEnabled() est obsolète. Mais la deuxième ligne de votre code n'a pas de sens. Tout ce que vous faites est de définir une constante à une autre constante, ce que vous obtenez en accédant à l'objet d'exécution. Je vous suggère de supprimer la deuxième ligne et de changer la troisième ligne à: webSettings.setPluginState (PluginState.ON); – Robert

+0

Okay. J'ai édité mon échantillon. Merci pour le conseil, désolé je suis fou en retard. –

0

essayer d'utiliser ces lignes de code

webView.getSettings().setPluginState(PluginState.ON); 

au lieu d'utiliser

webView.getSettings().setPluginsEnabled(true); 

Son beau travail ...

+1

webView.getSettings(). SetPluginState (PluginState.ON); est obsolète dans les API 18 et supérieures –

+0

Son obsolète maintenant –

-2
package com.ageofwar2; 

    import android.os.Bundle; 
    import android.app.Activity; 
    import android.view.Menu; 
    import android.webkit.WebView; 

    public class MainActivity extends Activity { 
     /** com.ageofwar2 */ 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
     } 


     String url ="file:///android_asset/Flash.swf"; //AgeOfWar2.swf 
     WebView mWebView=(WebView) findViewById(R.id.web_engine); 
     webView.getSettings().setPluginState(PluginState.ON); 
     webview.loadUrl();   
+0

Vous devriez écrire une sorte d'explication, comment avez-vous activé le flash par exemple –

+0

Il devrait être 'webview.loadUrl (url);' –

1

setPluginsEnabled() et setPluginsEnabled() sont dépréciée .

Pour que Flash Player fonctionne dans un WebView, vous devez activer l'accélération matérielle dans votre AdroidManifest.xml.

<application 
    android:allowBackup="true" 
    android:hardwareAccelerated="true" 
    android:icon="@mipmap/appicon" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

Vous pouvez également activer individuellement pour votre WebView en utilisant

mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
+1

Voulez-vous dire setPluginsEnabled et setPluginState? – Zharf

+0

Ne fonctionne pas pour moi –

0
webView.getSettings().setPluginState(PluginState.ON); 

est dépréciée maintenant, utilisez plutôt ceci:

webView.getSettings().setMediaPlaybackRequiresUserGesture(true); 
Questions connexes