本文转载自Android中Xposed框架篇—修改系统位置信息实现自身隐藏功能

前文已经介绍了Xposed框架的基本使用规则,本文主要来介绍一个实际案例,就是如何通过这个框架来修改系统的地理位置信息来实现隐藏功能。在如今社交工具的发展特别快,微信有一个实时位置共享功能,那么对于那些不是单身狗的同学来说可能会有些蛋疼,哪天媳妇要查岗发送位置,结果你不在她期望的位置这时候就尴尬了。而且朋友圈在分享内容的时候可以选择当前位置,有的屌丝就像我一样没钱但是又想到处旅游,那么这时候就可以一本正经的装个逼了。看到上面说的那么多,感觉这个功能必须要搞起来了,好处太多了。但是还得先做一件事,那就是关于Android中的定位系统知识,在Android中一般获取位置信息就涉及到下面的几个类和方法。

一、基站定位

android.telephony.TelephonyManager

+getCellLocation

+getPhoneCount

+getNeighboringCellInfo

+getAllCellInfo

android.telephony.PhoneStateListener

+onCellLocationChanged

+onCellInfoChanged

二、Wifi定位

android.NET.wifi.WifiManager

+getScanResults

+getWifiState

+isWifiEnabled

android.Net.wifi.WifiInfo

+getMacAddress

+getSSID

+getBSSID

android.net.NetworkInfo

+getTypeName

+isConnectedOrConnecting

+isConnected

+isAvailable

android.telephony.CellInfo

+isRegistered

三、GPS定位

android.location.LocationManager

+getGpsStatus

+getLastLocation

+getLastKnownLocation

+getProviders

+getBestProvider

+addGpsStatusListener

+addNmeaListener

有了这些方法和类下面就开始拦截操作了。在多次试验之后,发现Android中很多定位app绝大部分都是采用基站+GPS+Wifi这三种混合方式来进行定位的,如果我们都拦截这三种方式那就太费劲了,所以只拦截操作GPS定位,而其它两种方式拦截之后返回值全部设置空,这样让系统强制使用GPS定位。为什么要采用GPS定位这种方式呢?因为其它的两种方式在拦截之后去构造假的数据有点麻烦,而对于GPS这种方式只需要构造一个假的Location对象就可以了,操作非常方便。

首先把其它的定位方式信息拦截之后全部返回null值,这样就可以强制系统使用GPS定位数据了。因为本人梦想去台湾看看五月天,所以这里就构造一个假的台北数据。

直接构造一个假的Location对象然后设置成参数即可,因为这里的location对象是通过回调方式传回去的,所以需要修改参数而不是返回值。这里如果有同学想去其他地方,又不知道具体的经纬度信息,该怎么办呢?这个可以使用百度地图的拾取器功能。

点进去之后就可以随意选择地理位置。

选中之后,在右上角处可以看到经纬度信息。

好了,到这里就成功修改了系统中的地理位置信息。先运行模块,然后XposedInstaller会提示有新模块需要激活,进入工具激活,然后重启设备生效即可。在室内GPS定位可能会失败,所以如果想看到数据需要去室外操作即可,下面是我的百度地图截图。

去朋友圈晒一晒。

哈哈,这个逼装的我措手不及,自己都差点相信了。

项目下载

xposed框架定位修改怎么用_Android中Xposed框架篇-修改系统位置信息实现自身隐藏功能...相关推荐

  1. [转]mpvue中的小程序调用系统自带查看图片的功能

    mpvue中的小程序调用系统自带查看图片的功能 这里举个栗子: <template><div class="keting"><div class=&q ...

  2. php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...

    php中怎么在外部修改类的私有或受保护属性值 在做单元测试框架时,发现了个比较郁闷的问题:测试人员需要在类外修改类的private或protected成员变量的值,而这些变量没有抽象成public的属 ...

  3. form 多条数据 只保存修改的行_MVC中的新增、修改、删除

    新增.修改.删除 开发工具与关键技术:MVC作者:盘洪源撰写时间:2019年3月30日星期六 新增.删除.修改.查询这都是MVC中最基础的,所以说想要学好MVC必须先把基础打好,查询是比较复杂点,这里 ...

  4. android修改dll文件,Android中dll文件的修改

    Android中dll文件的修改,最近下载了一款非常不错的益智类游戏,一打开,顶部还有广告,最讨厌游戏中还带广告的,点又点不掉,又怕误点,真的看了都烦...作为程序员,就有种想要把它干掉的想法,作为玩 ...

  5. Python 通过微信控制实现app定位发送到个人服务器,再转发微信服务器接收位置信息。

    考虑到女友的安全问题,就做了一个app实现定位和服务器实现转发的东西.刚学python,竟没想到用对象编程会更加方便,全程过程式开发,代码有点臃肿,就当学习下python吧.效果就是:在微信公众号中输 ...

  6. 现代饭店中主要有哪些计算机应用系统,酒店信息管理系统习题

    习题汇总 PPT 01 酒店中计算机的应用 一.名词解释 1.现代酒店 2.网上酒店 3.酒店后台管理 4.散客信息服务 5.酒店信息化 二.简答题 1.说明现代酒店的含义及其提供的服务内容. 2.现 ...

  7. html表格td的内容修改,点击table中的td,修改td中的内容功能实现

    点击table中的td,修改td中的内容 前段时间,需要搭建演示页面,有个功能是实现点击表格中的某一格,能够修改对应格子中的内容,一开始不知道怎么写,在网上找了一下,自己再整合了一下,功能实现的代码如 ...

  8. linux修改权限掩码,Linux中控制文件权限修改的chgrp和umask命令用法

    chgrp - 改变文件的组所有权 总览 chgrp [选项] 组文件... POSIX 选项: [-R] [--] Austin 草拟选项: [-hHLPR] GNU 团体指示: [--refere ...

  9. 图像中目标的绝对位置信息(2)--Global Pooling, More than Meets the Eye: Position Information is Encoded Channel-

    关于偶数卷积核和padding的副作用可以参考这个博客. 首先,本文是翻译了 ICCV 2021的一篇文章:Global Pooling, More than Meets the Eye: Posit ...

  10. Android 集成高德地图——当前定位,添加图标,画路线,设置显示中心位置,比例,地图刷新位置监听,判断GPS开启,去打开GPS

    /*** 判断定位服务是否开启** @param* @return true 表示开启*/ public static boolean isLocationEnabled(Context contex ...

最新文章

  1. 服务器维护10月11魔兽,魔兽世界10月11日更新内容是什么_10.11PVP改动预览_3DM网游...
  2. 数据库性能优化的误区!
  3. 几种在不同的位置打开 SAP HANA Database explorer 的办法
  4. 每个Power BI开发人员的Power Query提示
  5. NSOperationQueue简介
  6. 无意中发现的一份清华大佬的刷题笔记!
  7. DE28 Matrix Methods for Inhomogeneous Systems
  8. Discuz论坛分表以及memcache缓存优化
  9. centos7 修改时区
  10. mongodb的分布式集群(4、分片和副本集的结合)
  11. WiFi技术简述与发展
  12. 正确模仿别人的php项目,一个模仿oso的php论坛程序(之一)第1/2页
  13. 10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
  14. mac 开机启动php,macbook开机启动nginx和php
  15. poi大数据导出的基本过程
  16. 神马笔记 版本2.0.0——新的旅程
  17. shadowplay要下载java,Simprit.MiniExcel.S60.Java
  18. 心灵的震撼-读《一个少年的梦--京瓷的奇迹》
  19. 大公司,还是小公司?
  20. ubuntu16中英文输入法切换快捷键

热门文章

  1. java 分词搜索_基于JAVA的小型中文分词系统
  2. 欧姆龙PLC 通过CJ1W-EIP21实现在线编程
  3. LitePal的使用
  4. 软件测试的艺术——软件测试的原则
  5. 360图片搜索操作使用说明
  6. 怎么把mxf转换成mp4?
  7. java 缓存队列_双缓冲队列的java实现
  8. IDEA的xml注释的顶格和空格问题
  9. js手写车牌输入键盘
  10. vba中filedialog用法