我刚刚开始制作一种Android混合应用程序,一个使用WebView的应用程序。作为第一步,我尝试从JavaScript调用Android代码的功能。但是,当我在它时,应用程序一直在崩溃。
我所做的就是设置WebView,添加一个从JavaScript代码中使用的类,然后从JavasScript调用该函数。
提前致谢。
android代码如下:
public class Grand_ride_androidActivity extends Activity {
WebView mWebView;
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
mWebView.loadUrl(Config.url);
}
}
public class JavaScriptInterface {
Context mContext;
JavaScriptInterface(Context c) {
mContext = c;
}
public void ensureTracking(Integer rideId) {
//do nothing
}
}
HTML正在跟随:
...
<body>
<script type="text/javascript">
//<![CDATA[
Android.ensureTracking(97);
//]]>
</script><div>
<p>You have checked in at 03:44PM</p>
<a href="/rides/97/check_out">Check out</a>
</div>
</body>
答案 0 :(得分:3)
我认为你只能使用原始类型和String,所以ensureTracking(Integer rideId)应该是ensureTracking(int rideId)。