2014-02-25 87 views
2

我正在開發一個android應用程序。這是一個簡單的應用程序,其中包含一個webview,它將加載我的mvc網站。Android的webview保持用戶登錄

我的應用程序的第一頁是登錄頁面。一旦用戶登錄到系統應用程序頁面顯示。

要求 - webview是否可以記住憑據並允許他/她下次訪問時自動登錄系統?

需要幫助。以下是主要活動代碼。

  public class MainActivity extends Activity { 
      WebView webView; 
      String loginUrl = "mail.xyzabcd.com"; 

      @Override 
      public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      // Adds Progress bar Support 
      this.getWindow().requestFeature(Window.FEATURE_PROGRESS); 
      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      setContentView(R.layout.activity_main); 

      webView = (WebView) findViewById(R.id.webView1); 
      webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
      WebSettings settings = webView.getSettings(); 
      settings.setJavaScriptEnabled(true); 
      settings.setDomStorageEnabled(true); 
      settings.setLightTouchEnabled(true); 
      settings.setSupportZoom(true); 
      settings.setBuiltInZoomControls(true); 
      webView.loadUrl(loginUrl); 

      // on clicking a link load it in the same link 
      webView.setWebViewClient(new WebViewClient() { 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
      } 

      @Override 
      public void onPageFinished(WebView view, String url) {    
      } 
      }); 
      } 
+0

這對我來說非常合適。 http://stackoverflow.com/a/17629754/1467204 – tejesh

回答

1

Web視圖只是它是用來顯示一個小部件。它本身不能記住會話中的數據(如果活動被終止)。

你可以做的是創建一個資源文件來存儲用戶標識和密碼(基於你想要的邏輯),然後檢查這個資源文件是否存在。如果存在,你可以從那裏提取細節。你也可以做你自己的加密以保護數據。

+0

感謝Sunil爲您的快速響應。我們可以使用Cookie嗎?在搜索時,我來到了settings.setSaveFormData(true),\t settings.setSavePassword(true)我們可以做這樣的事情嗎? – manojmore

+0

是的,你可以使用CookieManager和CookieSyncManager來存儲這些數據。 CookieSyncManager用於同步RAM和永久存儲器之間的cookie。 – ucsunil