Я создал приложение для веб-просмотра, используя android studio. Он содержит мой wordpress веб-сайт. На моем сайте уже есть система комментариев Facebook. В веб-просмотре, когда пользователь пытается добавить комментарий и Войти в сообщение, страница входа (имя пользователя, пароль) page). Все нормально ... но случай, когда пользователь нажимает кнопку входа в систему, веб-представление не показывает ничего ...?. Это означает белый экран. после нажатия кнопки входа я хочу, чтобы пользователь вернулся к своему комментарию. Как это сделать? Я искал inte rnet и нашел специальный код (** // специальный системный код комментариев Facebook **). Я прикрепил его в своем полном коде ЗДЕСЬ МОЙ ПОЛНЫЙ КОД ... пожалуйста, спасите мою жизнь ...
public class MainActivity extends AppCompatActivity {
ProgressBar progressBar;
WebView webView;
String url="https://www.websitename.com/";
TextView textView;
//to hide progressbar after loading part 1
LinearLayout liProgressContainer;
private String currentUrl;
private AdView mAdView;
MyApplication myApplication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
webView = (WebView) findViewById(R.id.webView);
textView = (TextView) findViewById(R.id.tvLoadingPercentage);
//to hide progressbar after loading part 2
liProgressContainer = (LinearLayout) findViewById(R.id.liProgressContainer);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
progressBar.setProgress(progress);
textView.setText(progress + " %");
}
});
//set responsive tablet also - start
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
//set responsive tablet also - end
//force links open in webview only -start
webView.setWebViewClient(new MyWebViewClient());
//force links open in webview only -end
//zoom controls -start
webView.getSettings().setBuiltInZoomControls(true);
//zoom controls -end
WebSettings browserSetting = webView.getSettings();
browserSetting.setJavaScriptEnabled(true);
//improve speed -start
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.getSettings().setAppCacheEnabled(true);
//improve speed - end
webView.loadUrl(url);
*****//special facebook comment system code-start*****
if (Build.VERSION.SDK_INT >= 21) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
}
*****//special facebook comment system code-end*****
//enable open url in web view start
webView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});
//enable open url in web view end
}
private class MyWebViewClient extends WebViewClient {
public void onReceivedError(WebView webView, int errorCode, String description, String failingUrl) {
try {
webView.stopLoading();
} catch (Exception e) {
}
if (webView.canGoBack()) {
webView.goBack();
}
webView.loadUrl("about:blank");
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Error");
alertDialog.setMessage("Check your internet connection and try again.");
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Try Again", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
startActivity(getIntent());
}
});
alertDialog.setCancelable(false);
alertDialog.show();
super.onReceivedError(webView, errorCode, description, failingUrl);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
liProgressContainer.setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//progressBar.setVisibility(View.VISIBLE);
view.loadUrl(url);
return true;
//return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
liProgressContainer.setVisibility(View.GONE);
//hide header part
}
}
//back button function
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
}