来自两个不同APK的Android服务相同

时间:2012-12-09 13:21:32

标签: android service binding

假设我们有两个已安装的APK,每个APK具有相同的服务和相同的操作。就像使用的那种或类似的库。

据我所知,上次安装的APK实际上是从服务的角度来看的。

当任何APK绑定到提及该操作的服务时,我实际上无法指定要绑定到哪个服务器。或者我可以吗?

这很重要我有两个不同版本的同一个库用于构建这些APK。来自某个APK的我的代码可能会期望该服务是在某些考虑因素的基础上构建的。

严格地说,如果多个具有相同名称,包名称(与实际包名称不同)和操作,我需要知道如何绑定到特定服务。

对于这种痛苦的阅读感到抱歉......

1 个答案:

答案 0 :(得分:1)

  

目前无法更改。

有才华的程序员可以在一两分钟内改变这一点。

  

据我所知,上次安装的APK实际上是从服务的角度来看的。

实际上,AFAIK,胜利中的第一个,而不是最后一个。

  

如果多个具有相同的名称,包名称(与实际包名称不同)和操作。

这是不可能的,因为你不能同时使用相同的包名安装两个应用程序。

可以使用不同的软件包名称安装两个应用程序,但其中包含Service具有相同的完全限定类名并使用<intent-filter>导出共享相同的操作字符串。正如我在关于这个问题的评论中所指出的那样,这是糟糕的设计。

话虽如此,您可以使用与setComponent()等一起使用的Intent上的startService()来识别相关的Service。您需要使用the two-String constructor,在第一个参数中提供APK的包名,在第二个参数中提供Service的完全限定类名。