2015-10-21 2 views
0

Ниже приводится код, который я реализую:Android WebView Auto Вход

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 веб оборотами пустым и показывает текст, написанный на левом углу «ххх»

Пожалуйста, помогите , уже искали от 3 до 4 часов и безрезультатно

+0

попробовать 'JavaScript:. Document.getElementById ('user_id') значение = ' "+ новый String ("ххх") +" '; document.getElementById (' пароль') .value = '"+ new String (" xxx ") +"'; ' –

+0

Не смотря на ту же проблему! пожалуйста, помогите, я уже устал, ища ths – Juni

+0

try 'javascript: alert ('check me');' и скажите мне, было ли показано предупреждение или нет –

ответ

0

Наконец-то я решил проблему. javascript не запускался, потому что мой целевой sdk был> = KITKAT.

Итак, чтобы избежать проблемы, вы должны использовать 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); 
}