如果在客户端应用之后安装了服务,我的应用无法连接到其他应用服务

时间:2013-09-25 14:15:39

标签: java android android-service

我的应用程序连接到另一个应用服务并传输一些数据。我在清单文件中配置权限,一切正常。但我有一个大问题。如果仅在该服务之后安装,我的应用程序可以正常连接到该服务!如果我第一次安装我的应用程序,然后安装该服务,我不工作,我得到这个错误:

  

不允许绑定到服务Intent

即使我重新启动手机它也没有效果!这里有什么问题?

1 个答案:

答案 0 :(得分:1)

这是一个已知(通过设计/不会修复)自定义权限的问题 - 如果在安装应用时系统不知道自定义权限,则无法使用自定义权限。

由于自定义权限是在尚未安装的服务apk的清单中定义的,因此系统在设置客户端应用程序的实际权限时不知道它,因此它被有效地过滤掉了。

您需要让用户在客户端之前安装服务apk,或者使用除自定义权限之外的其他方案。例如,您可以通过允许任何应用程序与您通信来做某事,但只响应具有某种键的那些应用程序(尽管可以通过逆向工程提取密钥......)