Я новичок в Java и Android, и у меня есть вопрос. Я думаю, что решение может быть очень простым, но я не смог его решить.
Я создал приложение WebView, которое показывает веб-сайт с формой входа в систему. Когда пользователь получает доступ в первый раз, он должен добавить имя пользователя и пароль для входа в систему, но проблема в том, что если я закрою окно приложения и снова открою приложение, снова появится пустая форма входа. Кажется, что сессия закрыта, когда окно закрыто. Может ли сессия оставаться открытой? И могли бы как-нибудь сохранить форму пользователя и пароль rn rl, как это делает любой веб-браузер?
Это часть моего кода, которую я также тестировал с помощью файлов cookie, но я не знаю, что делать на самом деле :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Activate jаvascript
mWebView.getSettings().setJavaScriptEnabled(true);
// Activate zoom
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(true);
// Activate cookies
if (android.os.Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);
} else {
CookieManager.getInstance().setAcceptCookie(true);
}
// Url example
url = "https://www.example.com/login.html";
// Get cookies
String cookiesStr = CookieManager.getInstance().getCookie(url);
CookieManager.getInstance().setCookie(url, cookiesStr);
//Load url
mWebView.loadUrl(url);
}
Я также пробовал этот код, который я видел в Интернете:
mWebView.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:document.getElementsByName('school')[0].value = 'schoolname'");
view.loadUrl("javascript:document.getElementsByName('j_username')[0].value = 'username'");
view.loadUrl("javascript:document.getElementsByName('j_password')[0].value = 'password'");
view.loadUrl("javascript:document.forms['login'].submit()");
}
});
Я был бы признателен за любую возможную помощь, так как я не знаю, как решить эту проблему проблема потери логина из WebView. Спасибо !!