在Android平台的某个时刻,我希望识别请求位置更新的应用程序,尽管我意识到这违反了平台的编程逻辑“无上下文”。
我在android位置框架中匆匆忙忙,无法找到将LocationListener标记回应用程序的方法。
是否可以识别实例化特定对象的类或包?
答案 0 :(得分:0)
您可以执行以下操作:
frameworks/base/services/java/com/android/server/LocationManagerService.java
requestLocationUpdates
方法,还放入其他方法)功能Binder.getCallingUid()
之后你会知道调用应用程序的uid。我希望这会对你有帮助!
答案 1 :(得分:0)
我找到了一个平庸的拼凑而成的答案。 碰巧的是,LocationListener的toString()方法有一个Override,它返回实例化LocationListener对象的应用程序的包名。通过使用它,我目前正在区分应用程序。
但是,我确信必须有一个更优雅的问题解决方案