2010-05-31 3 views

ответ

14

Вам просто нужно включить плагин для WebView, как это:

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

Я думаю, вы также должны флэш быть установлен, как в Android 2.2 и выше. Надеюсь, это поможет.

Этот метод теперь устарел, я попытаюсь объяснить это более подробно. См here

+1

Вам также может понадобиться 'андроида: hardwareAccelerated = "true" 'в манифесте, если его apk> 3.0 – Nick

+0

Не знаю, что такое« hardwareAccelerated », но метод, который я предложил теперь устарела. [link] (http://developer.android.com/reference/android/webkit/WebSettings.html#setPluginsEnabled%28boolean%29) Я попытаюсь объяснить это более подробно. – MrBuBBLs

9

Я считаю, что вы можете

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

будет работать.

+3

Это правильный ответ, теперь setPluginsEnabled() устарел. Но вторая строка в вашем коде не имеет смысла. Все, что вы делаете, это установить константу в другую константу, которую вы получаете, обращаясь к объекту среды выполнения. Я предлагаю вам удалить вторую строку и изменить третью строку на: webSettings.setPluginState (PluginState.ON); – Robert

+0

Хорошо. Я редактировал свой образец. Спасибо за совет, извините, я злюсь поздно. –

0

пытается использовать эти строки кода

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

вместо использования

webView.getSettings().setPluginsEnabled(true); 

своей работой отлично ...

+1

webView.getSettings(). SetPluginState (PluginState.ON); устарел в api 18 и выше –

+0

Теперь его устарело –

-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

Вы должны написать какое-то объяснение, как вы включили флэш, например –

+0

Это должно быть 'webview.loadUrl (url);' –

1

setPluginsEnabled() и setPluginsEnabled() является устаревшим ,

Чтобы заставить Flash Player работать в WebView, вам необходимо включить аппаратное ускорение в вашем AdroidManifest.xml.

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

Вы можете также индивидуально включить его для WebView с помощью

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

Вы имели в виду setPluginsEnabled и setPluginState? – Zharf

+0

Не работает для меня –

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

устарела сейчас, вместо того, чтобы использовать эту функцию:

webView.getSettings().setMediaPlaybackRequiresUserGesture(true); 
Смежные вопросы