在网页调用本地的分享SDK
class JsObject {
@JavascriptInterface
public String toString() { return "injectedObject"; }
}
webView.addJavascriptInterface(new JsObject(), "injectedObjectOfWoxue");
webView.setWebChromeClient(new WebChromeClient()); //设置webchromeclinet 之后 alter 才会起作用
js端
function toString()
var b=window.injectedObjectOfWoxue.toString();
alert(b);
java.lang.IllegalStateException: Calling View methods on another thread than the UI thread.at com.android.webview.chromium.WebViewChromium.createThreadException(WebViewChromium.java:268)at com.android.webview.chromium.WebViewChromium.checkThread(WebViewChromium.java:284)at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:219)at android.webkit.WebView.(WebView.java:516)at android.webkit.WebView.(WebView.java:483)at android.webkit.WebView.(WebView.java:463)at android.webkit.WebView.(WebView.java:452)at java.lang.reflect.Constructor.constructNative(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at android.view.LayoutInflater.createView(LayoutInflater.java:600)at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)at android.view.LayoutInflater.inflate(LayoutInflater.java:498)at android.view.LayoutInflater.inflate(LayoutInflater.java:398)at android.view.LayoutInflater.inflate(LayoutInflater.java:354)at com.umeng.socialize.view.j.(OauthDialog.java:145)at com.umeng.socialize.controller.impl.a.b(AuthServiceImpl.java:397)at com.umeng.socialize.controller.impl.a.doOauthVerify(AuthServiceImpl.java:239)at com.umeng.socialize.controller.impl.w.doOauthVerify(SocialServiceImpl.java:692)at com.umeng.socialize.controller.impl.n.a(ShareServiceImpl.java:595)at com.umeng.socialize.controller.impl.n.postShare(ShareServiceImpl.java:486)at com.umeng.socialize.controller.impl.w.postShare(SocialServiceImpl.java:392)at com.umeng.socialize.bean.e.onClick(InternalPlatform.java:36)at com.umeng.socialize.bean.SnsPlatform.performClick(SnsPlatform.java:111)at com.umeng.socialize.view.aj.a(ShareBoard.java:193)at com.umeng.socialize.view.aj.a(ShareBoard.java:176)at com.umeng.socialize.view.ak.onClick(ShareBoard.java:126)at android.view.View.performClick(View.java:4633)at android.view.View$PerformClick.run(View.java:19382)at android.os.Handler.handleCallback(Handler.java:733)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:136)at android.os.HandlerThread.run(HandlerThread.java:61)
解决:
runOnUiThread(newRunnable(){@Overridepublicvoidrun(){// Code for WebView goes here}});