我正在尝试在webview中播放html5视频,需要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;
}
}
答案 0 :(得分:29)
函数WebView.getSettings().setPluginsEnabled();
方法自API级别9以来已被弃用,并已在API级别18中删除。您可以使用API级别8中添加的较新函数WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
并在API中弃用级别18.根据WebSettings Documentation API级别超过18级将不支持插件;我假设是因为支持的主要插件是flash,adobe不再为移动设备开发。
答案 1 :(得分:11)
您可以查看:
if (Build.VERSION.SDK_INT < 8) {
webview.getSettings().setPluginsEnabled(true);
} else {
webview.getSettings().setPluginState(PluginState.ON);
}
希望这有帮助。
答案 2 :(得分:3)
setPluginsEnabled
适用于小于8的Android SDK版本,setPluginState
- 适用于SDK&lt; 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);
}