WebView的setPluginsEnabled不存在

我试图在webview中播放html5video,需要setPluginsEnabled

 WebView.getSettings().setPluginsEnabled 

但是对象不存在。 问题是什么 ?

这是我的代码:

 package com.example.arachim; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { WebView view; //@SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); view = new WebView(this); String url= new String("http://broken-links.com/tests/video/"); WebChromeClient chromeClient = new WebChromeClient(); WebViewClient wvc = new WebViewClient(); view.setWebChromeClient(chromeClient); view.setWebViewClient(wvc); view.getSettings().setJavaScriptEnabled(true); view.getSettings().setP } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 

函数WebView.getSettings().setPluginsEnabled(); 方法从API级别9开始已被弃用,并且在API级别18中被删除。您可以使用更新的函数WebView.getSettings().setPluginState(WebSettings.PluginState.ON); 它是在API级别8中添加的,并在API级别18中被弃用。根据WebSettings 18 以后的文档 API级别将不支持插件; 我假设是因为支持的主要插件是闪存,Adobe不再为移动开发。

你可以检查像:

 if (Build.VERSION.SDK_INT < 8) { webview.getSettings().setPluginsEnabled(true); } else { webview.getSettings().setPluginState(PluginState.ON); } 

希望这可以帮助。

setPluginsEnabled适用于小于8的Android SDK版本, setPluginState – 适用于SDK <18。它的版本高于18,因此我们只需要将它们仅用于上述SDK:

  // Build.VERSION_CODES.FROYO = 8, Build.VERSION_CODES.JELLY_BEAN_MR2 = 18 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) { webview.getSettings().setPluginsEnabled(true); } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2){ webview.getSettings().setPluginState(WebSettings.PluginState.ON); }