我正在创建一个应用程序,以帮助我和其他学生快速登录我们学校的网站。学校网站是https://my.gediz.edu.tr/
我使用WebView创建了一个应用程序,我希望webview自动输入用户名和密码,以便用户在启动应用程序时已经登录。我用Google搜索并找到类似的东西,但它不起作用。
import android.app.ActionBar;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView txtMsg;
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android.support.v7.app.ActionBar actionBar=getSupportActionBar();
// ActionBar actionBar=getActionBar();
actionBar.setLogo(R.drawable.ic_actionbar_gediz1);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
txtMsg=(TextView)findViewById(R.id.textView1);
//webview=(WebView)findViewById(R.id.webview1);
demo1TrySpecificURL();
//zoom
webview.getSettings().setBuiltInZoomControls(true);
}
private void demo1TrySpecificURL(){
webview=(WebView)findViewById(R.id.webview1);
webview.getSettings().setJavaScriptEnabled(true);
//webview.setWebViewClient(new MyWebClient(txtMsg, "https://my.gediz.edu.tr/"));
webview.loadUrl("https://my.gediz.edu.tr/");
webview.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
view.loadUrl("javascript:document.getElementsByName('username')[0].value = 'username'");
view.loadUrl("javascript:document.getElementsByName('password')[0].value = 'password'");
view.loadUrl("javascript:document.forms['Login'].submit()");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//return super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.forward_page) {
webview.goForward();
return true;
}
else if (id == R.id.back_page) {
webview.goBack();
return true;
}
else if (id == R.id.reLoad_page) {
webview.reload();
return true;
}
else if (id == R.id.zoom_in) {
webview.zoomIn();
return true;
}
else if (id == R.id.zoom_out) {
webview.zoomOut();
return true;
}
return super.onOptionsItemSelected(item);
}
public void blaHandler(View view) {
webview.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
view.loadUrl("javascript:document.getElementsByName('username')[0].value = 'username'");
view.loadUrl("javascript:document.getElementsByName('password')[0].value = 'userpassword'");
view.loadUrl("javascript:document.forms['Login '].submit()");
}
});
}
}
答案 0 :(得分:1)