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

PhoneRTC:启动时将数据从Java发送到Javascript,javascript,android,phonertc,Javascript,Android,Phonertc,我已经将phonertc示例应用程序作为我的Android原生Java应用程序的一部分。在我的家庭活动中,我有一个按钮,单击该按钮即可启动phonertc示例应用程序。下面是按钮的作用: Intent i = new Intent(this, CordovaApp.class); startActivity(i); 在CordovaApp.class中,我从phonertc的示例应用程序中获取了以下代码: public class CordovaApp extends CordovaActiv

我已经将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);
    }
}
公共类CordovaApp扩展CordovaApp活动
{
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
//在config.xml中设置
loadUrl(launchUrl);
}
}
这将在单独的活动中加载示例phonertc应用程序。我想在加载示例phonertc应用程序时,将我自己的一些数据从Java发送到该应用程序

我的目标是在phonertc应用程序和我的java android代码之间进行通信,而不仅仅是插件的通信。我该怎么做

在webview中加载之后,phonertc应用程序是否可以调用我的java android代码的函数


请提供帮助。

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

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>

换页

Aa您可以看到Cordova与这个简单的Android结构没有任何不同。

您想在混合应用程序中从HTML/Javascript端调用Java函数,对吗?如果是的话,我会解释的。是的,反过来也是。我知道如何在简单的webview中操作,但在cordova plus phonertc pluginI的情况下无法理解这一点。我不知道phonertc的情况,但我可以解释,例如,在cordova应用程序范围内单击HTML按钮启动安卓意图。但是如果你知道的话,没关系:)好的,你能解释一下cordova应用程序的作用域吗,我会做phonertc我自己请更改,用html和javascript代码将myHandler改为mainHandler