1.导入权限
<uses-permission android:name="android.permission.INTERNET" />
2.导入text文件
3.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.WebActivity"
android:orientation="vertical"
>
<Button
android:id="@+id/bbtn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="调取js方法"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff00"
android:orientation="vertical"
>
<WebView
android:id="@+id/web"
android:layout_width="400dp"
android:layout_height="400dp">
</WebView>
</LinearLayout>
</LinearLayout>
4.ManActivity
public class WebActivity extends AppCompatActivity {
private Button bbtn1;
private WebView web;
@SuppressLint("JavascriptInterface")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
//获取资源id
bbtn1=findViewById(R.id.bbtn1);
web=findViewById(R.id.web);
WebSettings settings = web.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
web.addJavascriptInterface(new JsToAndroid(),"test");
web.loadUrl("file:///android_asset/text.html");
alteView(web);
bbtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
web.loadUrl("javascript:returnResult()");
}
});
}
private class JsToAndroid {
@JavascriptInterface
public void hello(final String str){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(WebActivity.this,str,Toast.LENGTH_SHORT).show();
}
});
}
}
public void alteView(WebView web) {
web.setWebChromeClient(new WebChromeClient());
}
}