Andriod中WebView加載登錄界面獲取Cookie信息並同步保存,使第二次不用登錄也可查看個人信息。


Android使用WebView加載登錄的html界面,則通過登錄成功獲取Cookie並同步,可以是下一次不用登錄也可以查看到個人信息,

注:如果初始化加載登錄,可通過緩存Cookie信息來驗證是否要加載登錄界面。Cookie信息包含了你登錄的信息,打印是是這種格式。

如下圖:

 

 包含各種編碼,16進制等,可通過轉碼查看信息(包含當前城市,IP,個人相關信息等),轉碼后如圖:

            

 

項目效果圖:

            

 

  

public class MainActivity extends Activity {

    public String urlSign = "http://xwwscs.com/app.php?platform=android&appkey=40a3e8e50fa27b8e6f1dd1a4b7454a0a&version=1.0&c=member&a=viewlogin";
    /***
     * 測試賬號  name:DickyQie  pwd:123456
     */
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(new Intent(MainActivity.this, Page.class));
            }
        });
    }

    @SuppressLint({ "SetJavaScriptEnabled", "JavascriptInterface" })
    private void initView() {
        webView = (WebView) findViewById(R.id.activity_webview);
        webView.requestFocus();
        webView.setHorizontalScrollBarEnabled(false);
        webView.setVerticalScrollBarEnabled(false);
        WebSettings web = webView.getSettings();
        web.setJavaScriptEnabled(true);
        web.setBuiltInZoomControls(true);
        web.setSupportZoom(true);
        web.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        web.setUseWideViewPort(true);
        web.setLoadWithOverviewMode(true);
        web.setSavePassword(true);
        web.setSaveFormData(true);
        webView.loadUrl(urlSign);
        webView.setWebViewClient(new MyWebViewClient());
    }

    private class MyWebViewClient extends WebViewClient {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return true;
        }
        public void onPageFinished(WebView view, String url) {
            CookieManager cookieManager = CookieManager.getInstance();
            String CookieStr = cookieManager.getCookie(url);
            if (CookieStr != null) {
                Log.i("cookie", CookieStr);
            }
            super.onPageFinished(view, url);
        }

    }

}

不要忘記在AndroidManifest.xml加權限哦!

<uses-permission android:name="android.permission.INTERNET"/>  

 

源碼點擊下載:https://github.com/DickyQie/android-webview


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM