作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Android webview 应用程序中陷入死循环,应用程序在 onReceivedHttpAuthRequest 函数上被阻止。
mWeb.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
mProgressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {
if (isAdded())
handler.proceed(getResources().getString(R.string.username), getResources().getString(R.string.pass));
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
mWeb.loadUrl(mUrl);
最佳答案
关于 Activity
mWebView.LoadUrl(url);
await Task.Delay(10000);
if (!mWebView.IsShown | cliente.ErroReportado)
{
Toast t = Toast.MakeText(Android.App.Application.Context, "Erro ao acessar o servidor, verifique conexão, usuário e senha e tente novamente!", ToastLength.Long);
t.SetGravity(GravityFlags.Center, 0, 0);
t.Show();
OnCreate(null);
}
}
在 WebViewClient 上
<p></p>
class ViewClient : WebViewClient
{
MainActivity _activity;
public int iTentativasLogin { get; private set; }
public bool ErroReportado { get; private set; }
public ViewClient(MainActivity activity)
{
_activity = activity;
}
public override void OnReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, string host, string realm)
{
Toast t ;
if (Usuario.Length == 0 | Senha.Length == 0)
{
t = Toast.MakeText(Android.App.Application.Context, "Usuário ou senha não preenchidos", ToastLength.Long);
t.SetGravity(GravityFlags.Center, 0, 0);
t.Show();
handler.Cancel();
ErroReportado = true;
}
else
{
iTentativasLogin++;
if (iTentativasLogin < 4)
{
handler.Proceed(Usuario, Senha);
}
else
{
t = Toast.MakeText(Android.App.Application.Context, "Usuário ou senha incorretos", ToastLength.Long);
t.SetGravity(GravityFlags.Center, 0, 0);
t.Show();
handler.Cancel();
ErroReportado = true;
}
}
}
}
关于android - WebView - onReceivedHttpAuthRequest 永不停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41461787/
我在 Android webview 应用程序中陷入死循环,应用程序在 onReceivedHttpAuthRequest 函数上被阻止。 mWeb.setWebViewClient(new WebV
我正在使用基于 webview 的应用程序,我在 webview 中呈现一个 url。该 Url 具有 HTTP 身份验证。 当我第一次启动 url 时,它的 onReceivedHttpAuthRe
我正在尝试让基本身份验证在我的应用程序中正常工作,但是我收到了关闭 Activity 的错误,所以我没有通过。不确定我做错了什么?也许调用 handler.proceed 太早了? 错误: 08-20
我是一名优秀的程序员,十分优秀!