笔记两则:自动剪贴&获取Wifi密码

一则:利用Root获取Wifi密码

前言

最近在学习安卓root方面的知识,结合着网上的一些案例做了一个利用root权限的获取手机wifi信息的App,软件截图如下:

制作思路

获取root权限

找到手机里存放wifi密码的地方

将文件读取出来并保存

显示数据

其实重点就在第一步和第二步,安卓系统中存放wifi信息的文件在 目录下,所以只需要读取到该文件里的数据就可以了。对于root权限的介绍,可以参考慕课网的视频,在这里采用的方式是用命令行的方式,获取 /data/misc/wifi/wpa_supplicant.conf 文件的数据;

这里要先声明一点,Android 上你获取到root权限,只是代表你可以使用 su 了,你依然无法直接读取 /data/misc/wifi/ 这个路径的,你想要做的一切“非法”操作,都必须通过 su 来完成,也就是通过 shell 命令。关于 shell 的方法,有个工具类,挺好用。ShellUtils.java

开始制作1.获取root权限

每个手机都不一样,喜欢刷机的朋友会比较清楚,得靠自己,不多说。

2.用命令行的方式,获取存放wifi信息的文件

直接上代码

这样/data/misc/wifi/wpa_supplicant.conf 文件的内容就被保存下来了,接下来只需要解析获取到的内容就可以了。

3.解析文本内容

4.将结果用ListView显示

这里就不多说了

总结一下,其实就是通过shell获取到 /data/misc/wifi/wpa_supplicant.conf 文件的内容,拿到数据之后,在进行相应的操作就可以了。

-------

二则:获取短信验证码并自动粘贴到剪切板

前言

因为我的手机是一加3T,氧os,不像miui,flyme这些定制化的国产Rom,收到短信验证码的时候可以直接复制验证码,苦于氧os无法直接短信验证码,为此制作了此应用。

大致思路

首先需求是将短信中含有的验证码复制到剪贴板,为此我们需要做以下几步:

获取短信内容

判断短信中是否含有验证码,如果有则提取出来,如果没有就告知用户没有匹配出短信验证码

将匹配出的短信验证码复制到剪贴板

开始制作1. 获取短信内容

我们知道,每当系统接收到一条短信便会发出一条广播

为此,我们首先需要做的就是配置一个广播接收者来响应这条广播

SMSReceiver.java

然后在AndroidManifest.xml文件中配置短信接受者:

注意设置此广播接收者的级别为最高(1000),同时不要忘了添加接收和读取短信的权限:

注意!!!由于Google在Android6.0引入了运行时权限,使得只要API版本大于23的都需要进行权限的申请,在这里推荐使用一个非常简单快速的第三方库来进行运行时权限的申请,Android 6.0运行时权限第三方库的使用-----RxPermissions

接下来进行短信内容的获取

通过SmsMessage对象可以得到短信的发送号码,短信内容及相关信息。

2. 匹配出验证码并复制到剪贴板

在这里通过正则表达式匹配出短信内容中的验证码,因为验证码大多数为4位或者6位,所以在这里为了简化就直接进行了4位验证码和6位验证码的判断至于将文本内容复制到剪贴板的操作,给出一段示例代码即可理解

一个点赞,一次转发,都是对原创者的莫大支持。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206G0I2Y400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券