来自其他应用的Android调用方法,无需启动它

时间:2013-10-09 19:07:59

标签: android android-intent

我有两个包含不同包App1App2的Android应用程序。假设我想从Method1调用App1中编写的方法App2。我在以下链接Android call method from another app中找到的一个解决方案建议我们在BroadcastReceiver中注册App1并从sendBroadcast()致电App2。但问题是,只有当App1在后台运行时,我才能调用Method1。否则,什么也没发生。

如何解决此问题?还有其他方法可以在不必启动Method1的情况下致电App1吗?

1 个答案:

答案 0 :(得分:3)

  

但问题是,只有当App1在后台运行时,我才能调用Method1。

这是不正确的,如果你在AndroidManifest.xml中注册任何组件(BroadcastReceiverServiceActivity等)并导出它,其他应用程序可以触发它无论申请流程的当前状态如何,都为Intent

您遇到的问题可能是您链接的示例在Java代码中注册了BroadcastReceiver。如果您在清单中发布<receiver>,则始终可从外部访问。 BroadcastReceiver为{{1}}解释了这一点。