说明:
(1),参考:http://myqdroid.blog.51cto.com/2057579/389134
(2),应用的到程序
android2.3.4_GB_T34H\build\core\main.mk
android2.3.4_GB_T34H\development\data\etc\apns-conf.xml
android2.3.4_GB_T34H\development\data\etc\apns-conf_sdk.xml
1,APN的定义:
APN(Access Point Name),即“接入点名称”,是您在通过手机上网时必须配置的一个参数,它决定了您的手机通过哪种接入方式来访问网络,用来标识GPRS的业务种类,目前分为两大类:CMWAP/UNIWAP/3GWAP(通过GPRS访问WAP业务)、CMNET/UNINET/3GNET(除了WAP以外的服务目前都用CMNET,比如连接因特网等)。
2,android中APN流程分析
(1)进入terminate
(1)打开android2.3.4_GB_T34H\development\data\etc\apns-conf.xml
对应的名称功能为:这里面要注意红色标出的值。
name | 3g | 名称 |
apn | 3gnet | APN |
proxy | not set | 代理 |
port | not set | 端口 |
username | not set | 用户名 |
password | not set | 密码 |
server | not set | 服务 |
mmsc | not set | |
mms proy | not set | 彩信代理 |
mms prot | not set | 彩信端口 |
mmc | 460 | |
mnc | 01 | |
authentication | ||
apn type | defaul | APN类型 |
apn protocol | ipv4 | APN协议 |
对应我们要加入的代码部分:
<!--modify by xu_bin -->
<apn carrier="3g"
mcc="460"
mnc="01"
apn="3gnet"
user=""
password=""
server=""
mmsproxy=""
mmsport=""
mmsc=""
type="default"
/>
(2),在编译程序前,删除android2.3.4_GB_T34H\out\target\product\smdkc110\system\etc\apns-conf.xml
(3),编译程序,烧录,下面是我们实现的效果:不用手动设定,自动加入APN上网设定。
/** * @see ConnectivityManager#getMobileDataEnabled() */ public boolean getMobileDataEnabled() { enforceAccessPermission(); boolean retVal = Settings.Secure.getInt(mContext.getContentResolver(), //Settings.Secure.MOBILE_DATA, 1) == 1; Settings.Secure.MOBILE_DATA, 0) == 1;//leilei ++10.25 if (DBG) Slog.d(TAG, "getMobileDataEnabled returning " + retVal); return retVal; }Settings.Secure.MOBILE_DATA, 1) == 1;的情况下,选项默认为开, Settings.Secure.MOBILE_DATA, 0) == 1;时,选项默认为关闭。