android webview 中网页数据与js交互

html.getSettings().setJavaScriptEnabled(true);
html.getSettings().setDefaultTextEncodingName("UTF-8");
html.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
final QuestionsListInstance navigation = new QuestionsListInstance();

html.addJavascriptInterface(navigation, "Navigation");


class QuestionsListInstance{

@JavascriptInterface
public String GetManeuverInfo() {
return json;
}


@JavascriptInterface
public void GetManeuverInfo(String w) throws JSONException,Exception {

Toast.makeText(mContext, "index==" + w, 2).show();
SelfTestingActivity.isShowSaveDialog = true;
if (isFirst) {
try {
 correctResult = w;
 SelfTestingActivity.questionCache.putJson(resourceId, exercisesId, correctResult, CacheURL.AddExerciseRecord);
} catch (Exception e) {
Log.e("Index ERR", e.toString());
}
}
isFirst = false;
}
}


public QuestionFragment(String json) {
super();
this.json = json;
}


public void setFontSize(String size) {
// TODO Auto-generated method stub
html.loadUrl("javascript:fonts('" + size + "')");
}


public void setMode(String nightMode) {
// TODO Auto-generated method stub
html.loadUrl("javascript:mode('" + nightMode + "')");
}


@SuppressLint("HandlerLeak")
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:

}
}
};



webview中响应时间在GetManeuverInfo 中


还有那个 @JavascriptInterface 一定不要丢啊擦,不然没用,测试了一下午。。。结果发现是这个原因

你可能感兴趣的:(android)