在android平臺的某個位置,我希望識別請求位置更新的應用程序,但我意識到這違反了平臺的編程邏輯是「上下文」自由。識別調用位置服務的應用程序 - Android位置框架
我搗亂了android位置框架,並找不到將LocationListener標記迴應用程序的方法。
是否可以確定哪個類或包實例化了特定對象?
在android平臺的某個位置,我希望識別請求位置更新的應用程序,但我意識到這違反了平臺的編程邏輯是「上下文」自由。識別調用位置服務的應用程序 - Android位置框架
我搗亂了android位置框架,並找不到將LocationListener標記迴應用程序的方法。
是否可以確定哪個類或包實例化了特定對象?
你可以做到以下幾點:在適當的地方
frameworks/base/services/java/com/android/server/LocationManagerService.java
requestLocationUpdates
方法,也爲其他的方法)的功能Binder.getCallingUid()
所以之後,你就會知道調用應用程序的uid。我希望這能幫到您!
我發現了一個平庸的拼湊類型的答案我的問題。 恰巧,LocationListener的toString()方法有一個Override,它返回實例化LocationListener對象的應用程序的包名。通過使用這個,我目前正在區分這些應用程序。
不過,我敢肯定,必須有一個更優雅的解決問題的方法
感謝您的見解!我會嘗試了這一點,並讓你知道,如果它達到必要的結果.. 對不起,這毫無意義評論..一旦我有一些結果,將更新它! –
此方法有效。我測試過了,它按預期工作 –