【问题标题】:How can can I override the Android system service LocationManager (GPS) for select applications?如何覆盖选定应用程序的 Android 系统服务 LocationManager (GPS)?
【发布时间】:2011-11-30 04:07:49
【问题描述】:

我希望覆盖android.location.LocationManager。 目标是手动选择将哪些数据返回给调用它的应用程序。换句话说,我的目标是“愚弄”已经存在的应用程序,使其在调用时认为我的代码是 LocationManager:

Context.getSystemService(Context.LOCATION_SERVICE)

例如:谷歌地图将获得真正的 GPS 数据,而 Facebook 将获得模糊或伪造的 GPS 数据。

大量搜索使我找到了最接近的解决方案:http://pedroassuncao.com/2009/11/android-location-provider-mock/,其中有将 GPS 数据直接馈送到 LocationManager 的代码。但是,我看不出有什么办法可以修改它来实现我的目标。

理想情况下,我希望将其作为服务运行,而不是对操作系统本身进行修改。

【问题讨论】:

  • 在我看来,如果这样的事情是可能的,这将是一个安全问题。

标签: android service gps locationmanager


【解决方案1】:

我希望覆盖 android.location.LocationManager。

幸运的是,出于明显的安全原因,这是不可能的,除非通过自定义固件。

【讨论】:

  • 所有主要的操作系统类都由谷歌签名。因此,必须构建操作系统的自定义版本并安装在有根设备上才能完成此操作。
猜你喜欢
  • 1970-01-01
  • 2015-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 2013-05-02
  • 1970-01-01
  • 2012-08-29
相关资源
最近更新 更多