2015-10-21 69 views
0

以下是這是我實現的代碼:的Android的WebView自動登錄

protected void onCreate(Bundle savedInstanceState) { 



    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    webView = (WebView) findViewById(R.id.webTask); 
    WebSettings webSettings = webView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setUseWideViewPort(true); 
    webSettings.setLoadWithOverviewMode(true); 
    webSettings.setSaveFormData(false); 
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
    webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING); 
    else webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      webView.loadUrl("javascript:document.getElementById('user_id').value='" + new String ("xxx")+ "';javascript:document.getElementById('password').value = '" + new String("xxx") + "';"); 


     } 
    }); 
    webView.loadUrl(URL); 

但沒有任何反應INFACT Web視圖變成空白,顯示寫在其左上角的「xxx」

請幫助文本。已經搜索3〜4小時,無濟於事

+0

嘗試'的javascript:的document.getElementById( 'USER_ID')值= ' 「+新的字符串( 」XXX「)+」 ';的document.getElementById(' 密碼' ).value ='「+ new String(」xxx「)+」';' –

+0

不會面臨同樣的問題!請幫我累了,現在通過搜索部份 – Juni

+0

嘗試'的JavaScript:警報(「檢查我」);',並告訴我,如果顯示的警報或不 –

回答

0

最後我已經解決了這個問題。 JavaScript的,因爲我的目標是SDK> = 奇巧沒有被運行。

所以,爲了避免您必須使用webView.evaluateJavascript(yourScript,null);對API級別19以上運行的設備的問題。

示例代碼

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
{ 
    webView.evaluateJavascript(yourScript,null); 
} 
else 
{ 
    webView.loadUrl(yourScript); 
}