23

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

3 回答 3

32

该函数WebView.getSettings().setPluginsEnabled();方法自 API 级别 9 以来已被弃用,并在 API 级别 18 中被删除。您可以使用WebView.getSettings().setPluginState(WebSettings.PluginState.ON);在 API 级别 8 中添加并在 API 级别 18 中弃用的较新函数。根据WebSettings 文档, API 级别超过 18 将会不支持插件;我假设是因为要支持的主要插件是 adobe 不再为移动设备开发的 flash。

于 2013-10-14T15:57:36.027 回答
11

您可以检查如下:

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

希望这可以帮助。

于 2013-10-17T08:13:15.570 回答
3

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);
        }
于 2015-07-15T13:53:44.750 回答