2012-08-14 199 views
2

我有一个android应用程序的服务。该服务通过aidl公开了其他应用程序的接口。我想知道调用我的服务方法的应用程序的应用程序包。可能吗?知道什么应用程序调用我的远程服务

当然,我可以存储HashMap并为每个被调用者创建一个新的活页夹,但对我来说这似乎很糟糕。

任何想法? 谢谢。

回答

1

当然,我可以存储一个HashMap并为每个被调用者创建一个新的活页夹,但对我来说这似乎很糟糕的解决方案。

其实我不认为这是有效的。 AFAIK,Android缓存您的Binder,或者至少在每个不同的Intent的基础上。

任何想法?在Binder

使用getCallingUid()getCallingPid()从您的任何方法,看看谁引发了调用该方法。

+0

谢谢getCallingPid()的作品。我使用活动和包管理器来获取PID的包名称。 – 2012-08-15 06:33:13