私は次のテストAndroidアプリを持っています。
public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webView = (WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("file:///android_asset/www/test.html");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.sudoku, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Need to call javascript function testFun() here (see test.html)
}
}
test.html のコード
<!doctype html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8" />
<script type="text/javascript">
function testFun()
{
alert('Hi');
}
</script
<body>
<button type="button" onclick="testFun()">Test</button>
</body>
</html>
javascript http://developer.android.com/guide/webapps/webview.htmlでAndroid関数を呼び出すことについて読みました
しかし、android から javascript 関数を呼び出す方法を取得できませんでした (メニュー項目のクリック)。