我已经将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结构没有什么不同。