`
zangwenyang
  • 浏览: 127653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android APN设置及获得手机号(转载)

阅读更多




转载请注明出处:http://blog.csdn.net/lastsweetop/archive/2010/02/10/5304574.aspx



目前供职于电信,只做电信的业务,故列表中只有电信的APN信息


/**
 * 电信APN列表
 * @author wudongdong
 *
 */
public class APNNET {
	public static String CTWAP="ctwap";
	public static String CTNET="ctnet";
}

 

 获得APN的类型

 

/**
 * 获得APN类型
 * @author wudongdong
 *
 */
public class ApnUtil {
	private static Uri PREFERRED_APN_URI = Uri
	.parse("content://telephony/carriers/preferapn");
	/**
	 * get apntype
	 * @param context
	 * @return
	 */
	public static String getApnType(Context context){
		String apntype="nomatch";
		Cursor c = context.getContentResolver().query(PREFERRED_APN_URI,
				null, null, null, null);
		c.moveToFirst();
		String user=c.getString(c.getColumnIndex("user"));
		if(user.startsWith(APNNET.CTNET)){
			apntype=APNNET.CTNET;
		}else if(user.startsWith(APNNET.CTWAP)){
			apntype=APNNET.CTWAP;
		}
		return apntype;
	}
}
 


获得手机号码的话可以传IMSI码到指定接口,接口地址不方便说。

但可以透露一点,必须走CTWAP,这也是判断APN类型的原因

发现很多应用如果APN是走代理的话就不能联网,那么再介绍一下用APN设置网络的代理信息。

Cursor c = context.getContentResolver().query(PREFERRED_APN_URI,
					null, null, null, null);
			c.moveToFirst();
			String proxy=c.getString(c.getColumnIndex("proxy"));
			if (!"".equals(proxy) && proxy!=null) {
				Properties prop = System.getProperties();
				System.getProperties().put("proxySet", "true");
				prop.setProperty("http.proxyHost", c.getString(c
						.getColumnIndex("proxy")));
				prop.setProperty("http.proxyPort", c.getString(c
						.getColumnIndex("port")));
				String authentication = c.getString(c.getColumnIndex("user"))
						+ ":" + c.getString(c.getColumnIndex("password"));
				String encodedLogin = Base64.encode(authentication);
				uc.setRequestProperty("Proxy-Authorization", " Basic "
						+ encodedLogin);
			}
			c.close();
 

 

分享到:
评论
1 楼 zcllgj 2011-08-16  
请问一下,如何像天翼空间一样调用系统apn?

相关推荐

    android手机APN设置

    Android 手机 APN 设置 APN(Access Point Name)是移动网络中的一个重要概念,它是指移动网络中的一个访问点名称,用于标识移动网络中的一个访问点。Android 手机中的 APN 设置是指在 Android 手机中设置移动网络...

    android APN 设置

    在Android系统中,APN(Access Point Name)是设置数据连接的关键配置,它定义了设备如何连接到互联网或移动数据网络。APN包含了运营商提供的网络接入点信息,比如网络类型(2G、3G、4G、5G)、用户名、密码、服务器...

    android apn设置 A20 A83 RK3288 验证通过

    在Android系统中,APN(Access Point Name,接入点名称)是用于移动设备连接网络的重要配置,它定义了手机如何连接到互联网,包括使用的网络类型(如GPRS、3G、4G或5G)、数据服务提供商以及相关认证信息。...

    android 设置apn

    在Android系统中,APN(Access Point Name)是用于配置移动数据网络连接的重要设置,它定义了设备如何连接到互联网,特别是通过蜂窝数据。APN设置包括运营商、用户名、密码、代理服务器、端口等信息,对于使用特定...

    [Mark安卓教程]Android手机修改APN不保存解决办法.pdf

    当Android手机出现无法修改或保存APN设置的情况时,原因往往在于系统默认的APN配置与目标网络环境存在差异。例如,当使用了国外运营商定制的ROM时,其内置的APN配置可能与国内运营商的要求不符,导致用户自定义的APN...

    android中的APN开发

    本项目"android中的APN开发"显然是一个教学或示例应用,名为"MyApnDemo",旨在教给开发者如何在Android平台上创建、修改和管理APN设置。通过这个应用,开发者可以学习如何编写代码来实现以下功能: 1. **读取APN...

    android apn切换程序

    在Android系统中,APN设置用于定义数据连接的类型、网络速度、安全设置等,比如2G、3G、4G或5G的数据连接,以及是否启用彩信和互联网服务。在某些情况下,用户可能需要手动切换APN以优化网络性能或者解决特定服务的...

    Android端APN实现module

    在Android系统中,APN(Access Point Name)是用于设置移动数据网络连接的关键参数,它定义了设备如何连接到互联网,通常包括网络运营商、数据服务类型等信息。本模块主要探讨的是如何在Android应用程序中通过代码来...

    android 全面解析apn

    Android 全面解析 APN APN(Access Point Name)是 GPRS 背bone 中的一个参考点,指向一个 GGSN(Gateway GPRS Support Node)。GGSN 是一个核心网络设备,负责将用户的数据流量转发到互联网上。APN 是一个字符串,...

    Android APN开发流程分析.doc

    Android APN 开发流程分析 Android APN 开发流程分析是指 Android 操作系统中数据连接的实现过程,主要涉及到数据连接的建立、维护和管理。以下是 Android APN 开发流程分析的关键知识点: 1. 数据连接流程分析 ...

    Android开发之系统信息【5】——获取APN列表

    Android 获取 APN 列表的系统信息 Android 系统中对于 APN 的网络 API 没有公开,但是我们可以通过阅读源代码,然后进行数据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭 APN。 APN(Access Point ...

    (安卓)Android获取本机手机号及服务运营商

    本文将详细介绍如何在Android应用中获取本机手机号及服务运营商。 首先,获取本机手机号码通常需要权限声明。在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android....

    获取和修改手机当前APN

    在 Android 系统中,APN(Access Point Name)是手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。APN 保存在数据库中,数据库绝对路径为 `/data/data/...

    Android APN文件装换为windowsphones8 APN文件

    由于Android的APN配置信息存储在一个文本文件中,通常命名为“apn.conf”或“apns-conf.xml”,而WP8系统则需要在系统设置内手动创建每个APN条目,这在APN数量众多的情况下非常不便。因此,有一个工具或方法能将...

    android widget GRRS/3G(APN)上网开关

    不同的运营商可能有不同的APN设置,用户通常可以在手机的设置中手动调整,但通过小部件实现一键切换则更加便捷。 创建这样的小部件,我们首先需要在Android Studio中创建一个新的Android项目,选择“App Widget”...

    Android AT命令与APN开发流程分析

    Android AT命令与APN开发流程分析

    Android的APN开发源码分析

    ### Android的APN开发源码分析 #### 一、Android数据连接原理 Android的数据连接机制主要是基于PPP(Point-to-Point Protocol)的方式实现的。PPP协议是一种广泛使用的串行链路通信协议,它允许用户通过拨号或其他...

    Android基于APN获取手机号的方法

    本文实例讲述了Android基于APN获取手机号的方法。分享给大家供大家参考。具体如下: 之前很多人说无法完全获取手机号,是因为现在有的卡不能获取,有的卡能获取,现在我们可以换一种思路来考虑问题,就是用APN的方式...

Global site tag (gtag.js) - Google Analytics