我们可以在Android WebView中保存登录数据吗?

我们可以在Android WebView中保存登录数据吗?,第1张

概述我的网站需要登录才能使用,是否可以为用户保存登录数据,这样他们每次进入WebView(例如Firebase或Cookies等)时都不会登录?如果您需要共享我的代码,请告诉我.谢谢.编辑1:这是MainActivity.java文件代码:packagecom.company.app;importandroid.content.Context;importandroi

我的网站需要登录才能使用,是否可以为用户保存登录数据,这样他们每次进入WebVIEw(例如Firebase或cookies等)时都不会登录?
如果您需要共享我的代码,请告诉我.

谢谢.

编辑1:

这是MainActivity.java文件代码:

package com.company.app;import androID.content.Context;import androID.content.Intent;import androID.net.ConnectivityManager;import androID.net.NetworkInfo;import androID.os.Build;import androID.os.Handler;import androID.support.v4.Widget.SwipeRefreshLayout;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.webkit.cookieManager;import androID.webkit.cookieSyncManager;import androID.webkit.WebSettings;import androID.webkit.WebVIEw;import androID.webkit.WebVIEwClIEnt;public class MainActivity extends AppCompatActivity {WebVIEw webVIEw;SwipeRefreshLayout swipe;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_main);    findVIEwByID(R.ID.webVIEw).setVisibility(VIEw.GONE);    swipe = (SwipeRefreshLayout)findVIEwByID(R.ID.swipe);    swipe.setonRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {        @OverrIDe        public voID onRefresh() {            WebAction();        }    });    cookieSyncManager.createInstance(this);    cookieManager cookieManager = cookieManager.getInstance();    cookieManager.setAcceptcookie(true);    WebVIEw webvIEw = new WebVIEw(this);    WebSettings ws = webvIEw.getSettings();    ws.setSaveFormData(true);    ws.setSavePassword(true); // Not needed for API level 18 or greater (deprecated)    WebAction();}public voID WebAction(){    webVIEw = (WebVIEw) findVIEwByID(R.ID.webVIEw);    webVIEw.getSettings().setJavaScriptEnabled(true);    webVIEw.getSettings().setAppCacheEnabled(true);    webVIEw.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {        // chromium, enable harDWare acceleration        webVIEw.setLayerType(VIEw.LAYER_TYPE_HARDWARE, null);    } else {        // older androID version, disable harDWare acceleration        webVIEw.setLayerType(VIEw.LAYER_TYPE_SOFTWARE, null);    }    String myURL = "https://www.myURL.com/";    cookieSyncManager.createInstance(this);    cookieManager cookieManager = cookieManager.getInstance();    cookieManager.setAcceptcookie(true);    WebVIEw webvIEw = new WebVIEw(this);    WebSettings ws = webvIEw.getSettings();    ws.setSaveFormData(true);    ws.setSavePassword(true); // Not needed for API level 18 or greater (deprecated)    webVIEw.loadUrl(myURL);    swipe.setRefreshing(true);    webVIEw.setWebVIEwClIEnt(new WebVIEwClIEnt(){        public voID onReceivedError(WebVIEw vIEw, int errorCode, String description, String failingUrl) {            webVIEw.loadUrl("file:///androID_asset/error.HTML");        }        public voID onPageFinished(WebVIEw vIEw, String url) {            // do your stuff here            swipe.setRefreshing(false);            findVIEwByID(R.ID.webVIEw).setVisibility(VIEw.VISIBLE);        }    });}@OverrIDepublic voID onBackpressed(){    if (webVIEw.canGoBack()){        webVIEw.goBack();    }else {        finish();    }}

}

@R_502_6120@:

我找到了答案.

我们只需要添加this.webVIEw.getSettings().setDomStorageEnabled(true);以及this.webVIEw.getSettings().setJavaScriptEnabled(true);.

现在,我们可以删除cookie代码,并保存数据和登录信息.

编辑:
如果它不起作用,请尝试不要删除cookie代码.

总结

以上是内存溢出为你收集整理的我们可以在Android WebView中保存登录数据吗?全部内容,希望文章能够帮你解决我们可以在Android WebView中保存登录数据吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存