1. 程式人生 > >android webview 中網頁資料與js互動

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 一定不要丟啊擦,不然沒用,測試了一下午。。。結果發現是這個原因