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);
}