1

我已将 phonertc 示例应用程序作为我的 Android 本机 Java 应用程序的一部分。在我的家庭活动中,我有一个按钮,可以在单击时启动 phonertc 示例应用程序。这是按钮的作用:

Intent i = new Intent(this, CordovaApp.class);
startActivity(i);

在 CordovaApp.class 中,我从 phonertc 的示例应用程序中获取了以下代码:

public class CordovaApp extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

这会在单独的活动中加载示例 phonertc 应用程序。我想在加载时将我自己的一些数据从 Java 发送到示例 phonertc 应用程序。

除了插件的通信之外,我的目标是在 phonertc 应用程序和我的 java android 代码之间进行通信。我怎样才能做到这一点?

在 webview 中加载后,phonertc 应用程序有什么方法可以调用我的 java android 代码的函数吗?

请帮忙。

4

1 回答 1

0

无论您的 wevbiew 被命名为什么,请使用 addJavascriptInterface 方法。它基本上使Java函数能够被Javascript端访问。第一个参数通常是一个接口类,但您可以简单地使用相同的活动。

cordova_webview.addJavascriptInterface(this, "mainHandler");

例如,假设您要运行以下活动更改方法:

public void changePage(){           
    Intent intent = new Intent(MainActivity.this, 
                SecondActivity.class);
    startActivity(intent); 
}

现在在 HTML 页面上,您可以通过 myHandler 接口访问它;

<button onclick="window.mainHandler.changePage()">
    Change Page
</button>

啊,你看 Cordova 与这个简单的 Android 结构没有任何不同。

于 2015-02-26T14:39:24.383 回答