WebView不存在setPluginsEnabled

时间:2013-10-14 14:02:39

标签: android video

我正在尝试在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;
    }
}

3 个答案:

答案 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);
        }