Keep on going, never give up.

Android APN与数据连接

APN全称Access Point Name,译作“接入点名称”,是手机上网前必须配置的参数,手机出厂前一般均会预先配置,用户也可以自己修改,配置后决定手机通过何种方式接入网络,目前有两种访问类型,WAP访问和NET访问,每种访问方式还根据制式不同(GPRS、WCDMA等等)配置也会不同。本文总结一些APN相关的ANDROID源码修改知识。

本文测试版本:Android 2.3.7

一、APN接入配置

APN访问类型如下: 

  • CMWAP/UNIWAP/3GWAP,访问WAP业务,一般只做简单页面浏览或收发彩信
  • CMNET/UNINET/3GNET,访问INTERNET业务

APN在Android中如何手动增加接入点:

http://blog.csdn.net/xubin341719/article/details/7059496

http://myqdroid.blog.51cto.com/2057579/389134

二、移动数据连接

接入点那么多,如果任其任意访问网络,势必会天下大乱,所以,总开关还是要有,不用时最好关掉,还要经常留意那些总喜欢访问外部网的程序。

关闭数据连接:

/alps/frameworks/base/services/java/com/android/server/ConnectivityService.java

在getMobileDataEnabled函数中,第一次初始化找不到“Settings.Secure.MOBILE_DATA”预设值,所以后面第三个def参数生效,默认打开。

    /**
     * @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;//Set 0 as default
        if (DBG) Slog.d(TAG, "getMobileDataEnabled returning " + retVal);
        return retVal;
    }

在定位这个默认开关过程中,可能会涉及到如下重要目录及文件:

/alps/packages/apps/Phone/res/values/strings.xml

/alps/packages/apps/Phone/res/xml/network_setting.xml

getMobileDataEnabled->MOBILE_DATA->data_enabled

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.