java和js交互
安卓端的代码:
public class MainActivity extends Activity {
private WebView wb;
private ProgressBar pb;
private EditText uname;
private EditText pwd;
private Dialog dialog;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp = getSharedPreferences(
"login",
0);
boolean b = sp.getBoolean(
"isrem",
false);
if (b ==
true) {
System.out.println(
"aaa");
Intent intent =
new Intent(MainActivity.
this, Main2Activity.class);
startActivity(intent);
return;
}
init();
initWebView();
wb.addJavascriptInterface(
new Object() {
@JavascriptInterface
public void yz(String name, String pwd) {
Intent intent =
new Intent(MainActivity.
this,
Main2Activity.class);
startActivity(intent);
SharedPreferences sp = getSharedPreferences(
"login",
0);
Editor edit = sp.edit();
edit.putBoolean(
"isrem",
true);
edit.putString(
"name", name);
edit.putString(
"pwd", pwd);
edit.commit();
}
@JavascriptInterface
public void user(String ts) {
tc(ts);
}
@JavascriptInterface
public void pwd(String pwd) {
tc(pwd);
}
},
"javacode");
wb.loadUrl(
"file:///android_asset/form.html");
}
private void init() {
wb = (WebView) findViewById(R.id.wb);
pb = (ProgressBar) findViewById(R.id.pb);
wb.setWebViewClient(
new WebViewClient());
wb.setWebChromeClient(
new WebChromeClient() {
@Override
public void onProgressChanged(WebView view,
int newProgress) {
pb.setVisibility(View.VISIBLE);
pb.setProgress(newProgress);
if (pb.getProgress() == newProgress) {
pb.setVisibility(View.GONE);
}
super.onProgressChanged(view, newProgress);
}
});
}
private void initWebView() {
WebSettings set = wb.getSettings();
set.setJavaScriptEnabled(
true);
}
public void tc(String msg) {
AlertDialog.Builder builder =
new AlertDialog.Builder(
this);
builder.setTitle(
"我是警示框");
builder.setMessage(msg);
builder.show();
}
}
html代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档
</title>
<script language="javascript">
function test(){
if(document.login.uname.value==""){
window.javacode.user("用户名不能为空");
}else if(document.login.upass.value==""){
window.javacode.pwd("密码不能为空不能为空");
}else{
window.javacode.yz(document.login.uname.value,document.login.upass.value);
}
}
</script>
</head>
<body>
<form action="" name="login">
姓名:
<input type="text" name="uname"/> <br/>
密码:
<input type="password" name="upass" /> <br/>
<input type="button" onClick="test()" value="登录"/>
</form>
</form>
</body>
</html>
转载请注明原文地址: https://ju.6miu.com/read-1125248.html