h5跳转activity

第一种是经过webview提供的js和Java沟通的接口进行javascript

public void addJavascriptInterface(Object object, String name)
  •  

而后,在JavaScript里能够经过name来引用到object对象里有@JavascriptInterface注解的方法html

Java代码java

WebView wv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wv = (WebView)findViewById(R.id.webView);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.addJavascriptInterface(this, "nativeMethod");
        wv.loadUrl("file:///android_asset/index.html");
    }

    @JavascriptInterface
    public void toActivity(String activityName) {
        //此处应该定义常量对应,同时提供给web页面编写者
        if(TextUtils.equals(activityName, "a")){
            startActivity(new Intent(this,AActivity.class));
        }else{
            startActivity(new Intent(this,BActivity.class));
        }
    }
  •  

javascript代码android

<!DOCTYPE HTML>
<html>

<script type="text/javascript">
  function gotoActivity (activity) {
    nativeMethod.toActivity(activity);
  }
</script>
<body>

<button onClick="gotoActivity('a')">gotoActivity A</button>
<button onClick="gotoActivity('b')">gotoActivity B</button>

</body>
</html>
  •  

以上是第一种方法,在index.html页面能够跳转到AActivity和BActivity。web

相关文章
相关标签/搜索