Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用网络视图自动登录Gmail?_Android_Webview_Gmail_Android Webview - Fatal编程技术网

Android 使用网络视图自动登录Gmail?

Android 使用网络视图自动登录Gmail?,android,webview,gmail,android-webview,Android,Webview,Gmail,Android Webview,我想使用用户的Gmail用户名和密码在WebView中自动登录Gmail。有没有任何现有的代码如何做到这一点,因为我遇到了问题(需要发布哪些隐藏字段,获取/重新注入cookie) 我曾尝试使用JavaScript简单地填写用户名/密码字段,这很有效,但在提交登录表单(再次使用JavaScript)时,WebView会询问用户是否希望保存密码,这是我需要避免的(使其真正自动) 谢谢, 尼克 尝试此方法,但不确定是否需要两个setSave[…]方法 但是等等:假设你真的只是简单地用JavaScrip

我想使用用户的Gmail用户名和密码在
WebView
中自动登录Gmail。有没有任何现有的代码如何做到这一点,因为我遇到了问题(需要发布哪些隐藏字段,获取/重新注入cookie)

我曾尝试使用JavaScript简单地填写用户名/密码字段,这很有效,但在提交登录表单(再次使用JavaScript)时,
WebView
会询问用户是否希望保存密码,这是我需要避免的(使其真正自动)

谢谢,
尼克

尝试此方法,但不确定是否需要两个setSave[…]方法

但是等等:假设你真的只是简单地用JavaScript填充登录表单,你会用纯文本存储密码吗?如果是这样,你不应该这样做,不仅仅是因为安全问题。我假设您通过对话框询问用户的密码。 对许多用户来说,询问密码似乎是可疑的


我建议改为学习如何保存和恢复cookies。

太棒了,可以了:)!非常感谢。我认为这是另一种方式(我有setSavePassword(true)和setSaveFormData(true),我认为这会默默地保存表单数据,但实际上它更符合“您”的方式!关于保存用户名和密码的问题:您完全正确,我不想这样做,我还有另一个问题()关于如何避免这种情况,但不知道保存/还原cookie解决方案如何工作:-/…(如果我要存储用户名/密码,我显然会对其进行加密,但这不是我想要的解决方案)…您可以告诉我您是如何使用javascript填写用户名和密码字段的。登录表单在WebView中加载完毕后,您只需使用
WebView.loadUrl(“javascript:…;”);
对加载的内容执行javascript操作。例如:
mWebView.loadUrl(“javascript:yourloginfo.username.value=\”“+mUsername+”\”;”;mWebView.loadUrl(“javascript:yourloginform.username.value=\”+mPassword+“\”;”);mWebView.loadUrl(“javascript:yourloginform.signIn.click();”)
这里你的登录信息是什么意思。你能清楚地告诉我怎么做吗?还有javascript代码。我想加载一个带有完整凭据的gmail登录网页。请为你的问题找到答案并链接到这里。我已经在这里创建了问题
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setSavePassword(false);
mWebSettings.setSaveFormData(false)