Как автоматически показывать пароль в Webview - PullRequest
0 голосов
/ 29 января 2020

Я новичок в 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. Спасибо !!

...