我已经将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代码的功能?

请帮忙。

最佳答案

无论您的名字如何命名,都可以使用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>


a,您会发现Cordova与这个简单的Android结构没有什么不同。

09-04 16:33