我正在创建我的第一个Android应用程序,我以为我已经完成它,但最近发现用户似乎随机登出 .
我正在使用 WebView
来加载一个URL,我在 WebViewClient
中操作 WebView
的唯一时间是 shouldOverrideUrlLoading
,以便检查外部链接 . 这是其中的要点:
@Override
public boolean shouldOverrideUrlLoading(WebView webview, WebResourceRequest request) {
String RequestUrl = request.getUrl().toString();
if(request.getUrl().getHost() != null) {
changePage(RequestUrl);
}
return true;
}
public void changePage(String UrlString){
Uri RequestUri = Uri.parse(UrlString);
if(RequestUri.getHost() != null) {
if ((UrlString.contains("http://") || UrlString.contains("https://")) && RequestUri.getHost().equals(getString(R.string.app_domain))) {
webview.loadUrl(UrlString);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW, RequestUri);
webview.getContext().startActivity(intent);
}
}
}
这不应该导致问题 .
我还使用网站的登录页面来允许用户访问,目的是允许网页管理登录/注销状态 .
我的问题不是用户可以通过应用程序浏览网站,而是在浏览 WebView
/网站一段时间后将失去初始登录提供的身份验证,从而有效地注销用户 . (我所指的所有导航都是应用程序/内部网站链接外部工作正常 - 我认为) .
这可能是由于我处理链接的方式?我是否需要创建一些功能以在请求中重新插入cookie以创建一致的登录体验?
如果您需要更多信息,请与我们联系 . 谢谢!
1 回答
Try this