我开发了一个 android webview 应用程序,一切正常。但在网站内部,您可以通过 facebook 按钮登录,该按钮适用于所有浏览器,但不适用于 webview 应用程序。就在我单击 facebook 登录按钮时,出现了一个空白页面。
其他人和我有非常相似的问题,但他们可以代替我加载 facebook 页面。
我也尝试了这些添加:
myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
和
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().setAcceptThirdPartyCookies(myWebView, true);
}
我还希望它打开内部,然后自动重定向到我网站的登录页面。
编辑: 也许我还应该说 facebook 登录页面打开时会弹出一个窗口,这似乎是个问题。
最佳答案
尝试更改您的代码,如下所示
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView htmlWebView = (WebView)findViewById(R.id.webView);
htmlWebView.setWebViewClient(new CustomWebViewClient());
WebSettings webSetting = htmlWebView.getSettings();
webSetting.setJavaScriptEnabled(true);
webSetting.setDisplayZoomControls(true);
htmlWebView.loadUrl("https://inducesmile.com/blog");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private class CustomWebViewClient extends WebViewClient{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
关于javascript - 尝试在 android webview 应用程序中进行 facebook 登录时出现空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46300185/