Android单机版和不同APK中的服务

Android单机版和不同APK中的服务,android,binding,service,apk,android-service,Android,Binding,Service,Apk,Android Service,向其他程序员提问。假设我在自己的.apk中有一个独立的应用程序,我还有另一个.apk,它包含一个服务。我如何启动/停止服务并听取独立应用程序的意图?在这种情况下,服务绑定会起作用吗 我已经在同一个.apk中使用他们自己的服务完成了应用程序,但不幸的是,我不得不将他们分开,每个人都使用他们自己的apk 非常感谢。我不明白为什么这会与您在intraapp案例中所做的有任何不同。您可以检查意图是否成功,然后使用包和类名绑定到服务,就像在同一个应用程序中一样。当然,这取决于您是否只想使用意图,或者是否要

向其他程序员提问。假设我在自己的.apk中有一个独立的应用程序,我还有另一个.apk,它包含一个服务。我如何启动/停止服务并听取独立应用程序的意图?在这种情况下,服务绑定会起作用吗

我已经在同一个.apk中使用他们自己的服务完成了应用程序,但不幸的是,我不得不将他们分开,每个人都使用他们自己的apk


非常感谢。

我不明白为什么这会与您在intraapp案例中所做的有任何不同。您可以检查意图是否成功,然后使用包和类名绑定到服务,就像在同一个应用程序中一样。当然,这取决于您是否只想使用意图,或者是否要实现AIDL接口。因此,在现实中,除了检查应用程序是否已实际安装外,不应该有任何真正的变化


您还应该注意,您应该保护通过许可获得意图的能力,特别是如果您正在做一些特权的事情(通常是这样)。否则,你的应用程序可能成为混乱代理攻击的潜在目标。

如果我错了,请纠正我。在我的情况下,我认为意图会起作用。但是,由于应用程序和服务位于单独的APK中,因此它们处于不同的流程中。仅仅在我的服务中实现一个messenger就行了吗?我很困惑,意图和messenger是分开的。意图只是应用程序/活动之间的简单消息,但我不确定你为什么需要messenger。如果您需要绑定服务,那么您可以使用messenger,但意图只是您在服务的onStart()中得到并排队等待您处理的信息。对于缺少上下文,您是对的。我需要messenger才能绑定到服务,因为它们位于不同的进程上。使用messenger从单独的apk绑定是否仍然可行?是的,使用messenger模式仍然可行,应用程序内和应用程序间服务之间没有太大区别……非常感谢您的帮助。在阅读了文档并将其与您的答案相匹配之后,先生,您确实是正确的。我也看到了这个解决方案。