Android SDK WebView调用Activity

Nic*_*sBL 6 android webview

我正在尝试在单击WebView组件内的链接时启动Activity.

我的Webview已加载到内部Main.java,我想SubActivity.java在点击网站内的链接时启动Main.java?

另外,如何将参数传递给此活动?

示例:inspection://Project/1

"Inspection"是我的应用程序的名称,inspection是我想要启动的Activity ,是我想要1的ID.

Cha*_*ins 12

您可以使用WebView的addJavaScriptInterface来允许JavaScript控制您的应用程序(在这种情况下,允许JavaScript在单击链接时触发Intent).

为此,您需要传递一个类实例来绑定到JavaScript,这可能类似于以下内容:

private final class JsInterface {
      public void launchIntent(final String payload) {
         Activity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
               // use the payload if you want, attach as an extra, switch destination, etc.
               Activity.this.startActivity(new Intent(Activity.this, SomeOtherActivity.class));
            }
         });
      }
   }
Run Code Online (Sandbox Code Playgroud)

然后使用以下内容添加到WebView:

webView.addJavascriptInterface(js, "Android");
Run Code Online (Sandbox Code Playgroud)

然后在WebView的JavaScript中,您只需使用新的"Android"对象的"launchIntent"方法.