Reputation: 33
When I open Facebook through WebView fakebook's videos start playing automatically. How to disable this feature. Here is my code
public String target_url = "https://www.facebook.com/";
public WebView webView;
webView = (WebView) findViewById(R.id.webview);
// WebSettings webSettings = webView.getSettings();
//webView.loadUrl("http://www.facebook.com");
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
webView.addJavascriptInterface(this, "FBDownloader");
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
CookieSyncManager.getInstance().startSync();
webView.loadUrl(target_url);
Here i use webview for opening facebook in my app
Upvotes: 0
Views: 671
Reputation: 36
Use the Following Library to stop the videos from Auto Playing
dependencies {
//WebLayout
implementation 'com.github.Justson.AgentWeb:agentweb-core:v4.1.9-androidx'
implementation 'com.github.Justson:Downloader:v4.1.9-androidx'
}
Here is the Code of How to use this Library
AgentWeb mAgentWeb = AgentWeb.with(this)
.setAgentWebParent(mLinearLayout, new LinearLayout.LayoutParams(-1, -1))
.useDefaultIndicator()
.setWebChromeClient(mWebChromeClient)
.setWebViewClient(mWebViewClient)
.setMainFrameErrorView(R.layout.activity_facebook, -1)
.setSecurityType(AgentWeb.SecurityType.STRICT_CHECK)
.setWebLayout(new WebLayout(this))
.setOpenOtherPageWays(DefaultWebClient.OpenOtherPageWays.ASK)
.interceptUnkownUrl()
.createAgentWeb()
.ready()
.go(getUrl());
long n = System.currentTimeMillis();
Log.i("Info", "init used time:" + (n - p));
this.mWebView = this.mAgentWeb.getWebCreator().getWebView();
private final com.just.agentweb.WebViewClient mWebViewClient = new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//do you work
Log.i("Info", "BaseWebActivity onPageStarted");
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
};
private final com.just.agentweb.WebChromeClient mWebChromeClient = new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
};
public String getUrl() {
return "https://m.facebook.com/";
}
Upvotes: 2