PhoneRTC:在启动时将数据从Java发送到Javascript

时间:2015-02-26 14:21:01

标签: javascript android phonertc

我已将phonertc示例应用程序作为Android Native Java Application的一部分。在我的家庭活动中,我有一个按钮,可以在点击时启动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代码的功能?

请帮忙。

1 个答案:

答案 0 :(得分:0)

无论你的名字是什么,都要使用addJavascriptInterface方法。它基本上允许Javascript端访问Java函数。第一个参数通常是接口类,但您可以简单地使用相同的活动。

cordova_webview.addJavascriptInterface(this, "mainHandler");

要运行的Assumnig,例如以下活动更改方法:

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结构没什么不同。