Android 移动网络接入点名称(APN)

系统环境:Android 5.1,MTK平台

位置:设置-更多-移动网络-接入点名称(APN)

Activity名称:com.android.settings/com.android.settings.Settings$ApnSettingsActivity

物联网第三方业务平台通用APN为CMMTM,物联网自有业务平台通用APN为CMIOT,如终端未设置APN,则缺省为CMMTM(后续网络改造后物联网APN统一为CMIOT)

固件添加默认APN

添加三方默认APN到/out/target/product/generic/system/etc/apns-conf.xml(参考:Android APN配置),生成ROM刷机

打开设备/system/etc/apns-conf.xml(这个设备的APN配置源文件在vendor/mediatek/proprietary/frameworks/base/telephony/etc/apns-conf.xml;有的在device/generic/goldfish/data/etc/apns-conf.xml有添加的选项;

并且最终在/data/data/com.android.providers.telephony/databases/telephony.db中如果相应的APN配置项就说明配置成功(刷机需要清除userdata或删除这个db文件)

(还有个device/generic/goldfish/data/etc/apns-conf.xml是给模拟器用的假APN信息;frameworks/base/core/res/res/xml/apns.xml是系统默认APN配置,所有的apn配置文件的version都要和它一致)

案例

国外的一个项目,对方要连接华为的Elte网络,配置完上面的apns-conf.xml,有4G信号了,但是没有网络连接,最后对方说将mnc的002改为00就可以了,说是终端限制了3位mnc号?????

adb shell操作APN配置

content query --uri content://telephony/carriers/ --where "apn='elte.com'"
content delete --uri content://telephony/carriers --where "numeric='413' and apn='elte.com'"

上个APN数据库图:

说明

经测试需要在此xml中配置默认的APN设置,它在系统编译后会自动copy到out/product/system/etc下
vendor/mediatek/proprietary/frameworks/base/telephony/etc/apns-conf.xml

(刚开始根据建议,在系统生成目录out/product/system/etc下手动修改apns-conf.xml也能生效)
它最后会出现在终端的system/etc/apns-conf.xml中。系统启动后,会在/data/data/com.android.providers.telephony/databases/telephony.db中生成对应的记录供系统使用

此次测试,对方给的mnc为002,但不生效,需要改为00才能正常上内网,对方说是终端限制了3位数据,但终端内配置的其它APN有许多3位的,最终用adb shell netcfg可以看到4G网络分配的IP地址
ccmni0 up 10.96.72.236/8 ....****

系统为Android 5.1暂不支持菜单键调出手动添加APN功能,需要修改系统的APN设置界面(如添加一个单独的按钮),开放APN手动添加功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值