修改WIFI热点的默认名称奇酷手机「修改WIFI热点的默认名称」

   日期:2025-05-12    作者:1we5k 移动:http://nu1ol.zybear.com/mobile/quote/1247.html
    需要将WIFI热点定制化为AMAZON-XXXX的形式(厂商名-XXXX)。在我的奇酷手机上,看到已经是这样实现的,看来还是有需求的。基于当前的高通平台Android 5.1实现。下面会详细的一步一步说明如何查找到相关的地方,并进行修改。对于Android平台比较熟悉的朋友可能有点啰嗦,请直接看文章最后一部分文字。对于初次接触或者接触不久的朋友,可以耐心一点看完。

全局搜索高通的8909平台源码,发现是在下面的地方发现wifi热点相关的菜单(进到设置里面去看,通过子串查找对应的代码,这个在Android项目修改的时候经常用到的方法。通过某个界面上的子串,找到这个界面后面的逻辑代码

 

再搜索字串ID引用,发现如下

 

这个mWifiConfig是初始化WifiApDialog类的时候调用的。

 

继续追踪

 

都是调用这个来获取wifi热点的设置。

发现是在WifiServiceImpl extends IWifiManager.Stub中

 

 

WifiStateMachine.java

 

 

上面的wifi相关的内容涉及到了状态机,这里就不讨论了。继续查看wifiApConfigStore.loadApConfiguration函数。

 

原来是从一个文件里面读取的值啊

 

在项目里面全局搜一下这个文件试试。

 

后来还是在WifiApConfigStore的setDefaultApConfiguration函数里面看到了相关的内容

 

 

发现在项目手机上面输入*#06#,弹出的是MEID而非(IMEI,所以看看MEID是怎么获取的。在About phone界面就有MEID的显示。

 

看看Status.java里面的注释

 

所以IMEI对应GSM手机,MEID针对CDMA手机。

 
 


综上,如果要设置默认wifi热点名称为指定名称,只需要修改WifiApConfigStore的setDefaultApConfiguration函数即可。如下

 

又因为引用了另外一个包里面的java类,所以需要在Android.mk里面进行声明,否则编译的时候会提示找不到该类

 
修改代码,删除out目录,update-api,重新编译之后在开机界面卡死。通过adb抓取log发现 

 

原来是开机的时候根本没法获取到IMEI的后四位。当然如果不用IMEI号,使用其他字串代替也是可以的。修改setDefaultApConfiguration函数如下

 

注意,我已经注释了会引起异常的获取IMEI代码。编译之后,将system.img刷到手机,开机发现WIFI热点变为:AMAZON_ECFE。如果手动修改该名称,重启之后,WIFI热点依然是你修改的名称。



本文基于Android 5.1介绍了两点知识

1. 如何获取IMEI,其中包含如何在另外一个包中引用其他包的类。

2. 如何设置手机的WIFI热点的默认名称。




特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号