我試圖將數據從我的活動傳遞給位於Assets dir中的html文件中的javascript方法。將活動值傳遞給Android webview的Javascript方法
我使用JavascriptInterface通過我的int數組一樣JSONArray:
public class JavaScriptInterface {
Context mContext;
JavaScriptInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public JSONArray getValues() {
String values = "[100,133,'',120,122,132,133]";
JSONArray jsonarr = null;
try {
jsonarr = new JSONArray(values);
}
catch(JSONException e) {
e.printStackTrace();
}
return jsonarr;
}
}
Javascript方法,我採用的值這樣的:
var data = JSON.parse(js.getValues());
現在,我在不同的測試我的項目設備和AVD:
在Asus Nexus 7(JB 4.2.2)和其他的AVD上,三星Note 2(JB 4.2.1)和AVD上的目標Google API(API級別8) 4.2 e代碼停止工作會返回Web控制檯錯誤:
03-25 16:35:12.809: E/Web Console(11352): Uncaught SyntaxError: Unexpected token o at file:///android_asset/data/test.html:1
我需要這些值來表示使用Javascript庫的圖表。
另外,我修改了文件的ProGuard-project.txt否認的JavaScript代碼混淆:
keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keep public class com.XXX.XXX.DataReportActivity$JavaScriptInterface
-keep public class * implements com.XXX.XXX.DataReportActivity$JavaScriptInterface
-keep classmembers class com.XXX.XXX.DataReportActivity$JavaScriptInterface {
<fields>;
<methods>;
}
-keepattributes JavascriptInterface
沒有任何人有任何想法有關解決呢?
請任何幫助,歡迎!