Android APN设置

Android APN设置

概述

Apn设置,即“接入点名称”设置,Apn的全称是Access PointName,是用户在通过手机上网时必须配置的一个参数,它决定了您的手机通过哪种接入方式来访问移动网络。


对于移动终端用户来说,可以访问的外部网络类型有很多,例如:Internet、WAP网站、集团企业内部网络、行业内部专用网络。而不同的接入点所能访问的范围以及入的方式是不同的,网络侧如何知道移动终端激活以后要访问哪个网络从而分配哪个网段的 IP呢,这就要靠 APN来区分了,即 APN决定了用户的移动终端通过哪种接入方式来访问什么样的网络。


常见的 APN有:中国移动的 cmnetcmwap、中国联通的uninetuniwap、中国电信的 ctnetctwap

前言

android4.0以后Google把android.permission.WRITE_APN_SETTINGS权限归为系统权限,常规应用无法进行添加修改,需要系统签名为系统应用(应用系统签名)。

解决办法:

  • 需要在Android系统源码的环境下用make来编译:

    • 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
    • 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
    • 使用mm命令来编译,生成的apk就有修改系统时间的权限了。
  • 直接把eclipse或AS编出来的apk用系统的签名文件签名

    • 加入android:sharedUserId="android.uid.system"这个属性。
    • 使用eclipse或AS编译出apk文件。
    • 使用目标系统的platform密钥来重新给apk文件签名。首先找到密钥文件,在我android源码目录中的位置是"build/target/product/security",下面的platform.pk8platform.x509.pem两个文件。然后用Android提供的Signapk工具来签名,signapk的源代码是在"build/tools/signapk"下,编译后在out/host/linux-x86/framework下,用法为java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk"

相关知识点参考
Android系统权限和root权限
APN基础常识
插卡后APN信息的加载流程
三大运营商上网设置
Android 的APN设定与上网处理
中国电信物联网专网APN设置说明

附加知识点参考
Android创建和使用数据库
创建数据库到SD卡
Android与.Net交互模拟用户屏幕操作添加APN和网络4G/3G切换

APN Uri介绍

content://telephony/carriers代表的是APN数据库的位置,所有的APN都在这个数据库中。

  • content://telephony/carriers //取得全部apn列表
  • content://telephony/carriers/preferapn //取得当前设置的
  • content://telephony/carriers/current //取得current=1的apn列表
  • content://telephony/carriers/restore //恢复默认设置

三大运营商MNC MCC

运营商MNCMCC
电信03、05 、11(4g)460
联通01、06、09460
移动00、02、04、07460
铁通20460
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值