2012-07-05 75 views
1

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

我试图用JavaScript填写用户名/密码字段,但是在提交登录表单时(再次使用JavaScript),WebView询问用户他/她是否想要密码保存,我需要避免(使其真正自动)。

感谢,
尼克

+0

你能告诉你如何使用javascript填充用户名和密码字段。 – user1213202 2013-03-21 07:36:05

+0

一旦登录表单在WebView中完成加载,您只需使用'WebView.loadUrl(“javascript:...;”);'在加载的内容上执行javascript-actions。例如:\t'mWebView.loadUrl(“javascript:yourloginform.username.value = \”“+ mUsername +”\“;”);\t mWebView.loadUrl(“javascript:yourloginform.username.value = \”“+ mPassword +”\“;”); \t mWebView.loadUrl(“javascript:yourloginform.signIn.click();”);' – Nick 2013-03-21 11:06:21

+0

herelog yourloginform意味着什么可以告诉你如何做到这一点和JavaScript代码。我想加载一个带有填充凭证的gmail登录网页。 – user1213202 2013-03-21 11:33:24

回答

2
WebSettings mWebSettings = mWebView.getSettings(); 
mWebSettings.setSavePassword(false); 
mWebSettings.setSaveFormData(false) 

试试这个,不知道这两个setSave [...]虽然被需要的方法。

但是等待:假设你真的只是简单地用JavaScript填充登录表单,你会以纯文本格式存储密码吗?如果是这样,你不应该这样做,不仅是由于安全问题。我假设你通过一个对话框询问用户的密码。 询问密码似乎很多用户可疑。

我建议学习如何保存和恢复cookie。

+0

真棒,这工作:)!谢谢!我认为这是另一种方式(我有setSavePassword(true)和setSaveFormData(true),我认为它会默默地保存表单数据,但它实际上更有意义“你的”方式!关于保存用户名的问题和密码:你是绝对正确的,我宁愿*不*这样做,我有另一个问题(http://stackoverflow.com/questions/11335761/)如何避免,但不知道如何保存/恢复cookie解决方案将工作: -/... – Nick 2012-07-05 22:53:37

+0

(如果我*会*存储用户名/密码,我会明显加密它,但它不是我想要的解决方案)... – Nick 2012-07-05 22:55:11