假设我们有两个已安装的APK,每个APK具有相同的服务和相同的操作。就像使用的那种或类似的库。
据我所知,上次安装的APK实际上是从服务的角度来看的。
当任何APK绑定到提及该操作的服务时,我实际上无法指定要绑定到哪个服务器。或者我可以吗?
这很重要我有两个不同版本的同一个库用于构建这些APK。来自某个APK的我的代码可能会期望该服务是在某些考虑因素的基础上构建的。
严格地说,如果多个具有相同名称,包名称(与实际包名称不同)和操作,我需要知道如何绑定到特定服务。
对于这种痛苦的阅读感到抱歉......
答案 0 :(得分:1)
目前无法更改。
有才华的程序员可以在一两分钟内改变这一点。
据我所知,上次安装的APK实际上是从服务的角度来看的。
实际上,AFAIK,胜利中的第一个,而不是最后一个。
如果多个具有相同的名称,包名称(与实际包名称不同)和操作。
这是不可能的,因为你不能同时使用相同的包名安装两个应用程序。
可以使用不同的软件包名称安装两个应用程序,但其中包含Service
具有相同的完全限定类名并使用<intent-filter>
导出共享相同的操作字符串。正如我在关于这个问题的评论中所指出的那样,这是糟糕的设计。
话虽如此,您可以使用与setComponent()
等一起使用的Intent
上的startService()
来识别相关的Service
。您需要使用the two-String
constructor,在第一个参数中提供APK的包名,在第二个参数中提供Service
的完全限定类名。