如何从android本机应用程序调用应用程序
以下是我的三个应用程序:如何从android本机应用程序调用应用程序,android,c++,Android,C++,以下是我的三个应用程序: UI应用程序(Java) 本机应用程序A(Cpp) 本机应用程序B(Cpp) 现在,UI应用程序开始调用本机应用程序。 那么有没有办法叫B从A开始? 因为B是A的外部部分,所以它需要是单独的过程 更新: 像这样调用应用程序: std::system("am start -n com.package.name/.activity") 它在ADB中工作,但在本机应用程序中不工作 新想法: 因为B应用程序只需要做一个简单的文件传输工作(OTA文件下载)。 所以我认为我需要使
std::system("am start -n com.package.name/.activity")
它在ADB中工作,但在本机应用程序中不工作
新想法:
因为B应用程序只需要做一个简单的文件传输工作(OTA文件下载)。
所以我认为我需要使B应用程序成为一种服务。并使其在系统启动时启动。然后,应用程序不调用B,而是向B广播一个意图。如下所示:
std::system("am broadcast -a my_start_action -n com.package.name/.activity")
但仍然不起作用。您应该使用JNI回调请求应用程序A向应用程序B发送启动意图 JNI回调: 向应用程序B发送启动意图:
由于
A
和B
是本机Linux进程,因此可以使用
system
或fork
/exec
api
在一个
system(“/path/to/b”)
或者在fork()
A进程的代码中,它们exec(“/path/to/b”,…)