android webview java_Android Webview中调用本地java方法

在网页调用本地的分享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}});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值