gpt4 book ai didi

android - Webview自动输入用户名和密码的方法

转载 作者:行者123 更新时间:2023-11-30 01:41:06 31 4
gpt4 key购买 nike

我正在创建一个应用程序来帮助我和其他学生快速登录我们学校的网站。学校网址是https://my.gediz.edu.tr/

我创建了一个带有 WebView 的应用程序,我希望 webview 自动输入用户名和密码,以便用户在启动应用程序时已经登录。我用谷歌搜索并找到了类似的东西,但它不起作用。

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()");
}

});

}
}

最佳答案

按照此处的建议尝试一些操作,

Android: insert data into html input

基本上,您必须编写 javascript 处理程序并将其挂接到您的 webview。

关于android - Webview自动输入用户名和密码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34492899/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com