孚睿科技·ANDROID知识总结

WebView与JS交互代码没有被调用问题

2016-09-12  本文已影响69人  安卓小生

WebView与JS交互代码没有被调用问题

今天遇到一个需求,就是客户端调用webview,客户端点击的时候服务端判断有没有登录,登录就可以进行点赞、评论啥的,没有登录就调出Android原生的登录界面。

private final class AndroidJSI {
      public void login() {
          if (!DataManager.isLogined()) {
              IntentUtil.gotoActivity(getContext(), LoginActivity.class);
          }
      }
  }

查找资料发现:但是因为安全问题,在Android4.2中(如果应用的android:targetSdkVersion数值为17+)JS只能访问带有 @JavascriptInterface注解的Java函数。因此如果你的开发版本比较高,需要在被调用的函数前加上@JavascriptInterface注解,如下:

private final class AndroidJSI {
      @JavascriptInterface
      public void login() {
          if (!DataManager.isLogined()) {
              IntentUtil.gotoActivity(getContext(), LoginActivity.class);
          }
      }
  }
上一篇下一篇

猜你喜欢

热点阅读