2012-08-14 200 views
2

我有一個android應用程序的服務。該服務通過aidl公開了其他應用程序的接口。我想知道調用我的服務方法的應用程序的應用程序包。可能嗎?知道什麼應用程序調用我的遠程服務

當然,我可以存儲HashMap併爲每個被調用者創建一個新的活頁夾,但對我來說這似乎很糟糕。

任何想法? 謝謝。

回答

1

當然,我可以存儲一個HashMap併爲每個被調用者創建一個新的活頁夾,但對我來說這似乎很糟糕的解決方案。

其實我不認爲這是有效的。 AFAIK,Android緩存您的Binder,或者至少在每個不同的Intent的基礎上。

任何想法?在Binder

使用getCallingUid()getCallingPid()從您的任何方法,看看誰引發了調用該方法。

+0

謝謝getCallingPid()的作品。我使用活動和包管理器來獲取PID的包名稱。 – 2012-08-15 06:33:13