Java 类android.webkit.JavascriptInterface 实例源码
项目:OSchina_resources_android
文件:OWebView.java
@SuppressLint({"AddJavascriptInterface", "SetJavaScriptEnabled"})
private void init() {
setClickable(false);
setFocusable(false);
setHorizontalScrollBarEnabled(false);
WebSettings settings = getSettings();
settings.setDefaultFontSize(14);
settings.setSupportZoom(false);
settings.setBuiltInZoomControls(false);
settings.setDisplayZoomControls(false);
settings.setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
addJavascriptInterface(new OnWebViewImageListener() {
@Override
@JavascriptInterface
public void showImagePreview(String bigImageUrl) {
if (bigImageUrl != null && !StringUtils.isEmpty(bigImageUrl)) {
ImageGalleryActivity.show(getContext(), bigImageUrl);
}
}
}, "mWebViewImageListener");
}
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void fun_openCamera(String jsonString) {
JSInBean jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
try {
int options = (int) (new JSONObject(jsInBean.getName()).getDouble("scale") * 100.0d);
if (this.activityHandler != null) {
Message message = new Message();
message.what = 3;
message.obj = Integer.valueOf(options);
Bundle bundle = new Bundle();
bundle.putString(a.c, jsInBean.getCallback());
bundle.putString("callback_id", jsInBean.getCallback_id());
message.setData(bundle);
this.activityHandler.sendMessage(message);
}
} catch (JSONException e) {
e.printStackTrace();
}
this.mActivity.startActivityForResult(new android.content.Intent("android.media.action.IMAGE_CAPTURE"), 10003);
}
项目:PaoMovie
文件:WebViewFun.java
/**
* 获取经纬度集合
*
* @param str
*/
@JavascriptInterface
public void locationList(final String str) {
if (TextUtils.isEmpty(str)) {
Toast.makeText(activity, "鏆傛棤鏁版嵁!", 1000).show();
return;
}
// startActivity(new Intent(activity, OverlayDemo.class)
// .putExtra("locationStr", str));
// runOnUiThread(new Runnable() {
// @Override
// public void run() {
// startActivity(new
// Intent(activity,OverlayDemo.class).putExtra("locationStr",
// str));
// //Toast.makeText(htmlUIActivity, str+"", 1000).show();
// //System.out.println("str----------"+str);
// }
// });
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void fun_getStorage(String jsonString) {
LogInfo.log("ZSM webview js fun_getStorage jsonString: " + jsonString);
JSInBean jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
try {
JSONArray name = new JSONArray(jsInBean.getName());
StringBuilder builder = new StringBuilder();
builder.append("{");
for (int i = 0; i < name.length(); i++) {
String key = name.getString(i);
builder.append("\"" + key + "\":");
builder.append(FileUtils.getApiFileCache(BaseApplication.getInstance(), key));
if (i != name.length() - 1) {
builder.append(",");
}
}
builder.append("}");
LogInfo.log("ZSM webview js fun_getStorage result: " + builder.toString());
jsCallBack(jsInBean, builder.toString());
} catch (JSONException e) {
e.printStackTrace();
jsCallBack(jsInBean, RESULT_FAIL);
}
}
项目:AgentWeb
文件:AgentWebJsInterfaceCompat.java
@JavascriptInterface
public void uploadFile() {
if (mActivityWeakReference.get() != null && mReference.get() != null) {
mIFileUploadChooser = new FileUpLoadChooserImpl.Builder()
.setActivity(mActivityWeakReference.get())
.setJsChannelCallback(new FileUpLoadChooserImpl.JsChannelCallback() {
@Override
public void call(String value) {
if (mReference.get() != null)
mReference.get().getJsEntraceAccess().quickCallJs("uploadFileResult", value);
}
}).setFileUploadMsgConfig(mReference.get().getDefaultMsgConfig().getChromeClientMsgCfg().getFileUploadMsgConfig())
.setPermissionInterceptor(mReference.get().getPermissionInterceptor())
.setWebView(mReference.get().getWebCreator().get())
.build();
mIFileUploadChooser.openFileChooser();
}
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void fun_setStorage(String jsonString) {
LogInfo.log("ZSM webview js fun_setStorage jsonString: " + jsonString);
JSInBean jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
try {
JSONArray name = new JSONArray(jsInBean.getName());
for (int i = 0; i < name.length(); i++) {
JSONObject object = name.getJSONObject(i);
String key = object.getString("key");
String value = object.getString(Constants.VALUE_ID);
LogInfo.log("ZSM webview js fun_setStorage key: " + key + " value == " + value);
FileUtils.saveApiFileCache(BaseApplication.getInstance(), key, value);
}
jsCallBack(jsInBean, RESULT_SUCCEED);
} catch (JSONException e) {
e.printStackTrace();
jsCallBack(jsInBean, RESULT_FAIL);
}
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void fun_callLogout(String jsonString) {
LogInfo.log("lxx", "jsonString: " + jsonString);
JSInBean jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
Map<String, Integer> map = new HashMap();
map.put("result", Integer.valueOf(200));
JSONObject logoutResultJson = new JSONObject(map);
try {
String callString = buildupJSCallString(jsInBean.getCallback(), jsInBean.getCallback_id(), logoutResultJson.toString());
LogInfo.log("lxx", "fun_callLogout callString: " + callString);
new Handler(Looper.getMainLooper()).post(new 3(this, callString));
PreferencesManager.getInstance().logoutUser();
String s = "javascript:LetvJSBridge.fireEvent('onlogout','" + logoutResultJson.toString() + "')";
LogInfo.log("lxx", "fun_callLogout callString: " + s);
new Handler(Looper.getMainLooper()).post(new 4(this, s));
CookieManager.getInstance().removeAllCookie();
} catch (Exception e) {
e.printStackTrace();
}
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void core_getUserInfo(String jsonString) {
LogInfo.log("lxx", "fun_setStatus jsonString: " + jsonString);
JSInBean jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
try {
Map<String, Object> map = new HashMap();
map.put("username", PreferencesManager.getInstance().getUserName());
map.put("nickname", PreferencesManager.getInstance().getNickName());
map.put(NotificationCompat.CATEGORY_EMAIL, PreferencesManager.getInstance().getEmail());
map.put("ssouid", PreferencesManager.getInstance().getSsouid());
map.put("userlevel", Integer.valueOf(PreferencesManager.getInstance().getVipLevel()));
if (1 == PreferencesManager.getInstance().getVipLevel()) {
map.put("lasttime", Long.valueOf(PreferencesManager.getInstance().getVipCancelTime()));
} else if (2 == PreferencesManager.getInstance().getVipLevel()) {
map.put("lasttime", Long.valueOf(PreferencesManager.getInstance().getSeniorVipCancelTime()));
}
jsCallBack(jsInBean, new JSONObject(map).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
项目:letv
文件:LetvOpenIDOAuthLoginActivity.java
@JavascriptInterface
public void show(String data) {
LogInfo.log("ZSM Handler show == " + data);
try {
UserBean result = (UserBean) new OpenUserParser().doParse(data);
PreferencesManager.getInstance().setUserName(result.username);
PreferencesManager.getInstance().setUserId(result.uid);
PreferencesManager.getInstance().setSso_tk(result.tv_token);
PreferencesManager.getInstance().setRemember_pwd(true);
PreferencesManager.getInstance().setNickName(result.nickname);
PreferencesManager.getInstance().setUserMobile(result.mobile);
PreferencesManager.getInstance().setPicture(result.picture);
this.this$0.mRequestLoginTaskCallBack();
} catch (Exception e) {
e.printStackTrace();
}
}
项目:Auto.js
文件:InjectableWebClient.java
@JavascriptInterface
public String eval(final String script) {
result = null;
mWebView.post(new Runnable() {
@Override
public void run() {
Log.v(TAG, "ScriptBridge.eval: " + script);
result = mContext.evaluateString(mScriptable, script, "<eval-local>", 1, null);
Log.v(TAG, "ScriptBridge.eval = " + result);
synchronized (ScriptBridge.this) {
ScriptBridge.this.notify();
}
}
});
synchronized (ScriptBridge.this) {
try {
ScriptBridge.this.wait();
} catch (InterruptedException e) {
throw new ScriptInterruptedException();
}
}
return result.toString();
}
项目:DailyStudy
文件:JavaAndH5Activity.java
/**
* 该方法将被js调用,用于加载数据
*/
@JavascriptInterface
public void showcontacts() {
// Thread[JavaBridge,5,main]
Log.e(TAG, "js " + Thread.currentThread().toString());
// 下面的代码建议在子线程中调用
webView.post(new Runnable() {
@Override
public void run() {
String json = "[{\"name\":\"siri\", \"phone\":\"18600012345\"}]";
// 调用JS中的方法
webView.loadUrl("javascript:show('" + json + "')");
}
});
}
项目:ClouldReader
文件:ImageClickInterface.java
@JavascriptInterface
public void imageClick(String imgUrl, String hasLink) {
// Toast.makeText(context, "----点击了图片", Toast.LENGTH_SHORT).show();
// 查看大图
// Intent intent = new Intent(context, ViewBigImageActivity.class);
// context.startActivity(intent);
Log.e("----点击了图片 url: ", "" + imgUrl);
}
项目:BingMapDemo
文件:JsPushpinAddInterface.java
@JavascriptInterface
public void onPushpinAdded() {
Log.i(TAG, "onPushpinAdded");
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
IPushpinAddCallback callback = (IPushpinAddCallback) mHandler.getInterface(IPushpinAddCallback.class);
if (callback != null) {
callback.onPushpinAdded();
}
}
});
}
项目:GitHub
文件:HTML5WebViewCustomAD.java
@JavascriptInterface
public void showProduct(String productId){
if(productId!=null){
//进行跳转商品详情
showToastMsgShort("点击的商品的ID为:" + productId);
}else {
showToastMsgShort("商品ID为空!");
}
}
项目:GitHub
文件:ImageClickInterface.java
@JavascriptInterface
public void imageClick(String imgUrl, String hasLink) {
// Toast.makeText(context, "----点击了图片", Toast.LENGTH_SHORT).show();
// 查看大图
// Intent intent = new Intent(context, ViewBigImageActivity.class);
// context.startActivity(intent);
Log.e("----点击了图片 url: ", "" + imgUrl);
}
项目:AliZhiBoHao
文件:WebActivity.java
@JavascriptInterface
public void setProfile(String json) {//base属性 + img属性 拼接去取图片 goods是JSONobject
if (json != null) {
try {
pList = new ArrayList<>();
//解析json
JSONObject object = new JSONObject(json);
lri = new LiveRoomInfo();
lri.setuId(object.getString("uid"));
lri.setAcId(object.getString("acid"));
lri.setNickName(object.getString("nickname"));
lri.setOpenId(object.getString("openid"));
lri.setEventUrl(object.getString("eventurl"));
lri.setPushUrl(object.getString("pushurl"));
lri.setRoomImgUrl(object.getString("roomimg"));
lri.setMemberlevelid(String.valueOf(object.getInt("memberlevelid")));
String goods = object.getString("goods");
JSONArray object_goods = new JSONArray(goods);
for (int i = 0; i < object_goods.length(); i++) {
JSONObject object_good = object_goods.getJSONObject(i);
products = new Products();
products.setProducts_id(object_good.getString("id"));
products.setProducts_name(object_good.getString("name"));
products.setProducts_price(object_good.getString("price"));
mBase = object.getString("base");
String mBaseUrl = object_good.getString("img").startsWith("//") ? "http:" : object.getString("base");
products.setProducts_icon(mBaseUrl + object_good.getString("img"));
pList.add(products);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
项目:AllTrans
文件:WebViewHookHandler.java
@SuppressWarnings("unused")
@JavascriptInterface
public void showLog(final String stringArgs, WebView webView) {
utils.debugLog("in WebView Showlog " + stringArgs);
utils.debugLog("In Thread " + Thread.currentThread().getId() + " Recognized non-english string: " + stringArgs);
final GetTranslate getTranslate = new GetTranslate();
getTranslate.stringToBeTrans = stringArgs;
getTranslate.originalCallable = this;
getTranslate.userData = new WebHookUserData(webView, stringArgs);
getTranslate.canCallOriginal = true;
if (SetTextHookHandler.isNotWhiteSpace(getTranslate.stringToBeTrans)) {
GetTranslateToken getTranslateToken = new GetTranslateToken();
getTranslateToken.getTranslate = getTranslate;
if (PreferenceList.Caching) {
alltrans.cacheAccess.acquireUninterruptibly();
if (alltrans.cache.containsKey(stringArgs)) {
final String translatedString = alltrans.cache.get(stringArgs);
utils.debugLog("In Thread " + Thread.currentThread().getId() + " found string in cache: " + stringArgs + " as " + translatedString);
alltrans.cacheAccess.release();
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
callOriginalMethod(translatedString, getTranslate.userData);
}
}, PreferenceList.Delay);
return;
} else {
alltrans.cacheAccess.release();
}
}
getTranslateToken.doAll();
}
}
项目:OSchina_resources_android
文件:SourceEditor.java
/**
* @return content
*/
@JavascriptInterface
public String getContent() {
if (encoded)
try {
return new String(EncodingUtils.fromBase64(content),
"UTF-8");
} catch (UnsupportedEncodingException e) {
return getRawContent();
}
else
return getRawContent();
}
项目:AliZhiBoHao
文件:WebActivity.java
@JavascriptInterface
public void openCamera(String liveId, String json) {
//清空自己的直播间的商品
if (pList.size() != 0) pList.clear();
//邀约直播的参数
Intent in = new Intent(WebActivity.this, PushParamsActivity.class);
try {
JSONObject jsonObject = new JSONObject(json);
String pushUrl = jsonObject.getString("rtmp");
String memberLevel = jsonObject.getString("memberlevel");
String openId = jsonObject.getString("deleid");
String goods = jsonObject.getString("goods");
JSONArray object_goods = new JSONArray(goods);
for (int i = 0; i < object_goods.length(); i++) {
JSONObject object_good = object_goods.getJSONObject(i);
products = new Products();
products.setProducts_id(object_good.getString("id"));
products.setProducts_name(object_good.getString("name"));
products.setProducts_price(object_good.getString("price"));
String baseUrl = object_good.getString("img").startsWith("//") ? "http:" : mBase;
products.setProducts_icon(baseUrl + object_good.getString("img"));
pList.add(products);
}
in.putExtra("pushurl", pushUrl);
in.putExtra("openid", openId);
in.putExtra("memberlevelid", memberLevel);
in.putExtra("eventurl", lri.getEventUrl());
in.putParcelableArrayListExtra("products_list", pList);
} catch (JSONException e) {
e.printStackTrace();
}
shareInfo.setLiveId(liveId);
in.putExtra("shareinfo", shareInfo);
startActivity(in);
}
项目:MakiLite
文件:MakiInterfaces.java
@JavascriptInterface
public void loadingCompleted() {
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
mContext.setLoading(false);
}
});
}
项目:ZhidaoDaily-android
文件:JsInterface.java
@JavascriptInterface
public void loadHtmlContent(String content) {
if (TextUtils.isEmpty(content)) {
Toast.makeText(context, "暂无可分享内容", Toast.LENGTH_SHORT).show();
return;
}
AppUtils.getInstance().shareText(context, "来自知道日报: \n" + content);
}
项目:MakiLite
文件:MakiInterfaces.java
@JavascriptInterface
public void getNums(final String notifications, final String messages, final String requests, final String feed) {
final int notifications_int = MakiHelpers.isInteger(notifications) ? Integer.parseInt(notifications) : 0;
final int messages_int = MakiHelpers.isInteger(messages) ? Integer.parseInt(messages) : 0;
final int requests_int = MakiHelpers.isInteger(requests) ? Integer.parseInt(requests): 0;
final int feed_int = MakiHelpers.isInteger(feed) ? Integer.parseInt(feed): 0;
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
mContext.setNotificationNum(notifications_int);
mContext.setMessagesNum(messages_int);
}
});
}
项目:Android-Code-Demos
文件:MainActivity.java
/**
* 由于安全原因 targetSdkVersion >= 17 需要加 @JavascriptInterface
* JS 调用 Android JAVA 方法名和 HTML 中的按钮 onclick 后的别名后面的名字对应
*/
@JavascriptInterface
public void startFunction() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "show", Toast.LENGTH_SHORT).show();
}
});
}
项目:Android-Code-Demos
文件:MainActivity.java
@JavascriptInterface
public void showDialog(int a, float b, String c, boolean d) {
if (d) {
String msg = "a + b + c = " + a + b + c;
new AlertDialog.Builder(MainActivity.this)
.setMessage(msg)
.show();
}
}
项目:PaoMovie
文件:WebViewFun.java
@JavascriptInterface
public void LogOut(String values) {
handler.post(new Runnable() {
@Override
public void run() {
Log.d("js", "LoginOut");
String filename = userCookieName;
HelperSP.deleteToSP(activity, "UserInfo");
}
});
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public void fun_setShare(String jsonString) {
LogInfo.log("lxx", "fun_setShare jsonString: " + jsonString);
jsInBean = JSBridgeUtil.getInstance().parseJsonArray(jsonString);
if (this.mActivity instanceof LetvBaseWebViewActivity) {
((LetvBaseWebViewActivity) this.mActivity).parseShareJson(jsonString);
}
jsCallBack(jsInBean, RESULT_SUCCEED);
}
项目:TubiPlayer
文件:TubiVPAID.java
@JavascriptInterface
@SuppressWarnings("unused")
public void notifyVideoEnd() {
Log.e(TAG, "VPAID Ad Completed");
mHandler.post(new Runnable() {
@Override
public void run() {
if (fsmPlayer != null) {
fsmPlayer.removePlayedAdAndTransitToNextState();
}
}
});
}
项目:diycode
文件:WebImageListener.java
/**
* 收集图片(当发现图片时会调用该方法)
*
* @param url 图片链接
*/
@JavascriptInterface
public void collectImage(final String url) {
Logger.e("collect:" + url);
if (UrlUtil.isGifSuffix(url)){
return;
}
if (!mImages.contains(url))
mImages.add(url);
}
项目:BingMapDemo
文件:JsBingMapScriptLoadInterface.java
@JavascriptInterface
public void onScriptLoadSuccess() {
Log.i(TAG, "onScriptLoadSuccess");
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
IBingMapScriptLoadCallback callback = (IBingMapScriptLoadCallback) mHandler.getInterface(IBingMapScriptLoadCallback.class);
if (callback != null) {
callback.onScriptLoadSuccess();
}
}
});
}
项目:ZeroKit-Android-SDK
文件:Zerokit.java
/**
* Called if a function has finished with error
*
* @param result the error result which is returned by the javascript method
* @param key the key which identify which observers are responsible for handle the error
*/
@JavascriptInterface
@SuppressWarnings("unused")
public void onError(final String result, final String key) {
final Callback<? super String, ? super String> subscriber = observers.get(key);
if (subscriber != null) {
subscriber.onError(result);
observers.remove(key);
decrementIdlingResource();
}
}
项目:OSchina_resources_android
文件:UIHelper.java
/**
* 添加网页的点击图片展示支持
*/
@SuppressLint({"JavascriptInterface", "SetJavaScriptEnabled"})
@JavascriptInterface
public static void addWebImageShow(final Context cxt, WebView wv) {
wv.getSettings().setJavaScriptEnabled(true);
wv.addJavascriptInterface(new OnWebViewImageListener() {
@Override
@JavascriptInterface
public void showImagePreview(String bigImageUrl) {
if (bigImageUrl != null && !StringUtils.isEmpty(bigImageUrl)) {
ImageGalleryActivity.show(cxt, bigImageUrl);
}
}
}, "mWebViewImageListener");
}
项目:BingMapDemo
文件:JsBingScreenLocationInterface.java
@JavascriptInterface
public void onPoint(final int x, final int y) {
Log.i(TAG, "onPoint");
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
IBingScreenLocationCallback callback = (IBingScreenLocationCallback) mHandler.getInterface(IBingScreenLocationCallback.class);
if (callback != null) {
callback.onPoint(new Point(x, y));
}
}
});
}
项目:BBSSDK-for-Android
文件:RichEditor.java
@JavascriptInterface
public void onGotImages(String[] imgList) {
for (OnJsCallbackListener item : onJsCallbackListenerSet) {
if (item != null) {
item.onGotImages(imgList);
}
}
onJsCallbackListenerSet.clear();
}
项目:android-recaptcha
文件:RecaptchaV1Task.java
@Keep
@JavascriptInterface
public void onGetChallenge(String challenge) {
if (failureRunnable != null) {
handler.removeCallbacks(failureRunnable);
failureRunnable = null;
} else {
// FailureRunnable has run
return;
}
final String finalChallenge = challenge;
final String finalImage = image;
final boolean success = !TextUtils.isEmpty(challenge) || !TextUtils.isEmpty(image);
handler.post(new Runnable() {
@Override
public void run() {
if (!destroyed) {
destroyed = true;
webView.destroy();
if (success) {
callback.onSuccess(finalChallenge, finalImage);
} else {
callback.onFailure();
}
}
}
});
}
项目:boohee_v5.6
文件:g.java
@JavascriptInterface
public void setResult(String str) {
if (str == null) {
this.b.a("fail", "unknown_error");
} else if (str.equals("success")) {
this.b.a("success");
} else {
this.b.a("fail", "unknown_error");
}
}
项目:SmingZZick_App
文件:YoutubeSmingActivity.java
@JavascriptInterface
public void injectionFail() {
// Log.d("TTT_d", "injectionFail");
runOnUiThread(new Runnable() {
@Override
public void run() {
webView.postDelayed(new Runnable() {
@Override
public void run() {
injection(webView);
}
}, 1200);
}
});
}
项目:PaoMovie
文件:WebViewFun.java
@JavascriptInterface
public String ajax(final String url) {
String urlttt = null;
if (url != null) {
urlttt = url.replaceAll(":", "").replaceAll("/", "");
}
final String url2 = urlttt;
String rrrr = HelperSP.getFromSP(activity, url2, url2);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
final HttpResult hr = HttpUtil.download(null, url);
if (hr != null && hr.result != null && hr.result.equals("") == false) {
activity.runOnUiThread(new Runnable() {
@SuppressLint("NewApi")
@Override
public void run() {
String execFun = "pdy.loadRes('" + hr.result + "')";
Log.d("js", execFun);
activity.webView.evaluateJavascript(execFun, null);
}
});
HelperSP.saveToSP(activity, url2, url2, hr.result);
}
}
});
thread.start();
return rrrr;
}
项目:letv
文件:JavaScriptinterface.java
@JavascriptInterface
public static void setCookieByJS(WebView webView) {
HashMap<String, String> cookieMap = new HashMap();
cookieMap.put(MODIFYPWD_PARAMETERS.TK_KEY, PreferencesManager.getInstance().getSso_tk());
cookieMap.put("from", "mobile_tv");
String callString = "javascript:LetvJSBridge.fireEvent('onsetcookie','" + new JSONObject(cookieMap).toString() + "')";
LogInfo.log("lxx", "setCookieByJS callString: " + callString);
webView.loadUrl(callString);
}
项目:OSchina_resources_android
文件:SourceEditor.java
/**
* Bind content to current {@link WebView}
*
* @param name
* @param content
* @param encoded
* @return this editor
*/
@JavascriptInterface
public SourceEditor setSource(final String name, final String content,
final boolean encoded) {
this.name = name;
this.content = content;
this.encoded = encoded;
loadSource();
return this;
}
项目:EasyJsBridge
文件:JsBridge.java
@JavascriptInterface
public void callJava(String json){
// 解析 json 看起参数,如果参数有 callback,那么生成一个 callback 函数
// 否则直接分发调用本地方法
NativeObject javaObject = parseJson(json);
dispatchMessage(javaObject);
}