【发布时间】:2017-08-10 05:28:52
【问题描述】:
我目前正在开发一个应用程序,该应用程序在 Android WebView 中以桌面模式加载 https://web.whatsapp.com/whatsapp for web。 它在棒棒糖版本上运行良好,但高于 API 23 及更高版本(棉花糖及更高版本)应用程序仅加载网站一次,如果按下重新加载按钮,它只会显示一个空白屏幕!
这是在 android API 级别 21 上运行良好但不高于它的代码,请帮忙!!
public class Main_web_view_frag extends android.support.v4.app.Fragment
{
public WebView Assignment_webView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View slide_view = inflater.inflate(R.layout.assignment_main_webview, container, false);
Assignment_webView = (WebView)slide_view.findViewById(R.id.webView);
Assignment_webView.getSettings().setJavaScriptEnabled(true);
Assignment_webView.setWebViewClient(new My_web_Browser());
Assignment_webView.loadUrl("https://web.whatsapp.com/");
setDesktopMode(true);
return slide_view;
}
private class My_web_Browser extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return true;
}
}
public void setDesktopMode(final boolean enabled)
{
final WebSettings Assignment_webSettings = Assignment_webView.getSettings();
String new_Assign_UserAgent;
if (enabled)
{
new_Assign_UserAgent = Assignment_webSettings.getUserAgentString().replace("Mobile", "eliboM").replace("Android", "diordnA");
}
else
{
new_Assign_UserAgent = Assignment_webSettings.getUserAgentString().replace("eliboM", "Mobile").replace("diordnA", "Android");
}
Assignment_webSettings.getJavaScriptEnabled();
Assignment_webSettings.setUserAgentString(new_Assign_UserAgent);
Assignment_webSettings.setUseWideViewPort(true);
Assignment_webSettings.setLoadWithOverviewMode(true);
Assignment_webSettings.setSupportZoom(enabled);
Assignment_webSettings.setBuiltInZoomControls(true);
Assignment_webSettings.getJavaScriptCanOpenWindowsAutomatically();
Assignment_webSettings.setDisplayZoomControls(false);
Assignment_webSettings.setDatabaseEnabled(true);
Assignment_webSettings.setDomStorageEnabled(true);
Assignment_webSettings.setAllowFileAccess(true);
Assignment_webSettings.setAppCacheEnabled(true);
Assignment_webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Assignment_webSettings.setAppCachePath(getActivity().getApplicationContext().getCacheDir().getPath());
String appCachePath = getActivity().getCacheDir().getAbsolutePath();
Assignment_webSettings.setAppCachePath(appCachePath);
}
}
【问题讨论】:
-
嗨..你解决了这个问题吗?
-
你能帮忙解决一下吗?
标签: java android android-fragments webview android-webview