Reputation: 241
I'm trying to play html5 video in webview and need to setPluginsEnabled
WebView.getSettings().setPluginsEnabled
but it's not exist for object. what is the problem ?
this is my code:
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;
}
}
Upvotes: 24
Views: 38393
Reputation: 8598
setPluginsEnabled
is available for Android SDK versions less than 8, setPluginState
- for SDK < 18. It is depricated for versions higher than 18, and therefore we need to use them only for only aforementioned SDKs:
// 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);
}
Upvotes: 3
Reputation: 10100
You can check like :
if (Build.VERSION.SDK_INT < 8) {
webview.getSettings().setPluginsEnabled(true);
} else {
webview.getSettings().setPluginState(PluginState.ON);
}
Hope this helps.
Upvotes: 12
Reputation: 2081
The function WebView.getSettings().setPluginsEnabled();
method has been deprecated since API level 9, and was removed in API level 18. You can use the newer function WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
which was added in API level 8 and was deprecated in API level 18. According to the WebSettings Documentation API levels beyond 18 will not support plugins; I'm assuming is because the main plugin to support was flash which adobe is no longer developing for mobile.
Upvotes: 33