2017-02-02 97 views
0

我的应用程序有第一项活动,其中包含Webview,并在应用程序开始时从服务器加载一个简单页面。如何在Webview中使用JavaScript代码显示活动?

页面代码:

<html> 
<head> 
    <title></title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <button id="btn_foo"></button> 
</body> 
</html> 

我有,有一个视频播放器的第二活动。

我如何才能显示/隐藏通过我的网页上的JavaScript的第二个活动?例如,当我点击btn_foo(如Firefox中的VLC插件可以通过JavaScript向其发送命令)。

+0

您正在寻找这样的:https://开头开发商。 android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String) –

+0

谢谢,但部分...它似乎只包含webview功能的页面 –

+0

该链接包含*确切地*你需要什么。 –

回答

2

这里是你在onCreate做什么:

class MyJavaScriptInterface { 
    @JavascriptInterface 
    public void doStuff(String param) { 

     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       // start Video Activity here 
      } 
     }); 
    } 
} 

final WebView webView = (WebView) findViewById(R.id.browser); 
webView.setWebChromeClient(new WebChromeClient()); 

/* enable JavaScript */ 
webView.getSettings().setJavaScriptEnabled(true); 

/* Register a new JavaScript interface called Android */ 
webView.addJavascriptInterface(new MyJavaScriptInterface(), "Android"); 

/* load a web page */ 
webView.loadUrl(url); 

在你加载网站,单击该按钮时,运行

Android.doStuff("video1"); // calling the @JavascriptInterface method