我在C ++中有类,其中必须响应HTTP连接,该类必须建立连接,发送回复并做一些其他功能。这个类是我编译的最大项目的一部分,最后得到Android的.so库。
class HTTPSClient
{
public:
WinHTTPSClient();
~WinHTTPSClient();
bool Connect(const XMLString& a_strURL);
};
现在我想在c ++中从连接函数调用java函数。我有从C ++代码调用java函数的经验,但我总是将JavaVM
传递给类,例如我调用init(JavaVM* javaVm);
并作为参数提供来自本机代码的javavm。
现在我的问题是: 我是否可以从C ++代码调用java方法而不将任何JavaVm作为参数传递。
答案 0 :(得分:0)
将JavaVM定义为某个类的全局/静态变量,例如,将其包装为单例。可以在不明确地将其作为参数传递的情况下访问该变量。
答案 1 :(得分:0)
您可以使用Java Invocation API直接在您的本机代码中创建VM。
Jim S。