我找到了解決方案。我把一個alertdialog通過網站的原始登錄。 之後,我將Java腳本代碼注入到URL中,該URL填寫網站上的表單,然後自動提交。 如果有人有興趣,我這樣做是這樣的:
AlertDialog爲登錄:
private void logIn() {
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.activity_login, null);
final EditText username = (EditText) textEntryView.findViewById(R.id.username);
final EditText password = (EditText) textEntryView.findViewById(R.id.password);
username.setText("", TextView.BufferType.EDITABLE);
password.setText("", TextView.BufferType.EDITABLE);
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(Html.fromHtml("<font color='#ffffff'>Login</font>"));
alert.setView(textEntryView);
alert.setPositiveButton("Login",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
User = username.getText().toString();
Pw = password.getText().toString();
autoFillIn();
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}
});
alert.show();
}
然後autoFillIn:
public void autoFillIn(){
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:document.getElementById('LoginForm_username').value = '" + User + "';document.getElementById('LoginForm_password').value='" + Pw + "';document.forms[0].submit();");
}
});
mWebview .loadUrl(frontendurl);
setContentView(mWebview);
}
希望這可以幫助別人。 而我始終是敞開的更好的想法..
編輯: 「frontendurl」是我想通過web視圖中顯示的URL字符串..
來源
2014-11-26 07:58:29
3k1