2012-07-05 101 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