我已将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代码的功能?
请帮忙。
答案 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结构没什么不同。