WebView不存在setPluginsEnabled

use*_*363 21 video android

我正在尝试在webview中播放html5视频并且需要 setPluginsEnabled

WebView.getSettings().setPluginsEnabled
Run Code Online (Sandbox Code Playgroud)

但它并不存在于对象中.问题是什么 ?

这是我的代码:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

Roc*_*ock 30

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


Sid*_*yas 11

您可以检查:

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

希望这可以帮助.

  • 是的 - 我第一次看到一个被弃用的方法实际上被删除了 (17认同)
  • 如果您使用API​​ 18或更高版本构建,这将导致编译器错误,因为`setPluginsEnabled`方法不再存在. (11认同)