Android - 我正在使用webview加载以下url "https://www.pinterest.com",它成功地加载了,但是当我点击Pinterest上的通过Facebook登录或通过Google登录时,它会加载一个空白屏幕而不是实际结果。以下是我的代码,请帮助我。相同的代码适用于其他url,但仅Pinterest无法正常工作。
public class Pinterest extends Fragment {
private WebView wv1;
String url="https://www.pinterest.com";
private ProgressBar progress;
View mView;
WebSettings settings;
ImageView back,top;
public Pinterest() {
// Required empty public constructor
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
mView= inflater.inflate(R.layout.pinterest, container, false);
wv1 = mView.findViewById(R.id.pin_webView);
progress = mView.findViewById(R.id.pin_progressBar);
back= mView.findViewById(R.id.go_back);
top= mView.findViewById(R.id.goToTop);
progress.setMax(100);
settings = wv1.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
wv1.setWebViewClient(new myWebClient());
wv1.setVerticalScrollBarEnabled(true);
wv1.setHorizontalScrollBarEnabled(true);
wv1.loadUrl(url);
progress.setProgress(0);
wv1.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
setValue(newProgress);
if (newProgress == 100) {
progress.setVisibility(View.GONE);
}
super.onProgressChanged(view, newProgress);
}
});
back.setOnClickListener(v -> {
if(wv1.canGoBack())wv1.goBack();
});
top.setOnClickListener(v -> {
Constants.goTop(wv1);
});
return mView;
}
public void setValue(int progress) {
this.progress.setProgress(progress);
}
public class myWebClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
System.out.println("when you click on any interlink on webview that
time you got url :-" + url);
// view.loadUrl(url);
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
System.out.println("your current url when webpage loading.. finish"
+ url);
super.onPageFinished(view, url);
}
}
}