2017-02-02 73 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