package com.bon.setapn;

import android.content.ContentResolver;

import android.content.SharedPreferences;

import android.telephony.TelephonyManager;

import android.text.TextUtils;

import android.util.Log;

/**

* 设置apn

* @author lei

*

*/

public class SetApn {

private TelephonyManager mTelephonyManager;

ContentResolver resolver;

SharedPreferences sharedPreferences;

private final int cmWap = 1; //移动

private final int ctWap = 3; //电信

private final int cuWap = 2; //联通

/**

* 构造

* @param _mTelephonyManager

*/

public SetApn(TelephonyManager _mTelephonyManager,ContentResolver _resolver, SharedPreferences _sharedPreferences){

mTelephonyManager = _mTelephonyManager;

resolver = _resolver;

sharedPreferences = _sharedPreferences;

}

/**

* 判断手机运营商

* @return

*/

private int simOperators(){

//1 为 移动运营商 2为联通 3为电信

int operators = -1;

String imsi=mTelephonyManager.getSubscriberId();

if(!TextUtils.isEmpty(imsi)){

if(imsi.startsWith("46001")){

operators=2;

}else if(imsi.startsWith("46002")||imsi.startsWith("46000")){

operators=1;

}else if(imsi.startsWith("46003"))

{

operators=3;

}

}

return operators;

}

/**

* 判断手机sim卡网络状态是否正常

* @return

*/

private boolean simStatus(){

boolean isSimStatusCorrect = false;

int simState = mTelephonyManager.getSimState();

switch (simState) {

case TelephonyManager.SIM_STATE_ABSENT: //无卡

isSimStatusCorrect = false;

break;

case TelephonyManager.SIM_STATE_NETWORK_LOCKED: //需要NetworkPIN解锁

isSimStatusCorrect = false;

break;

case TelephonyManager.SIM_STATE_PIN_REQUIRED: //需要PIN解锁

isSimStatusCorrect = false;

break;

case TelephonyManager.SIM_STATE_PUK_REQUIRED: //需要PUN解锁

isSimStatusCorrect = false;

break;

case TelephonyManager.SIM_STATE_READY: //状态正常

isSimStatusCorrect = true;

break;

case TelephonyManager.SIM_STATE_UNKNOWN: //未知状态

isSimStatusCorrect = false;

break;

}

return isSimStatusCorrect;

}

/**

* 设置apn

*/

public void setWapApn(){

if(simStatus()){

switch (simOperators()) {

case cmWap:

SetCmWap.setWapAPN(resolver, sharedPreferences);

Log.i("MainActivity", "移动");

break;

case ctWap:

SetCtWap.setWapAPN(resolver, sharedPreferences);

Log.i("MainActivity", "电信");

break;

case cuWap:

SetCuWap.setWapAPN(resolver, sharedPreferences);

Log.i("MainActivity", "联通");

break;

}

}

}

}

apn java_android设置移动联通电信wap接入点相关推荐

  1. android设置移动联通电信wap接入点

    原文:android设置移动联通电信wap接入点 源代码下载地址:http://www.zuidaima.com/share/1550463755242496.htm android设置移动联通电信w ...

  2. 移动联通电信wap和net接入点判断

    在android网络开发中,对接入点判断是必不可少的,因为连接网络的时候如果是wap接入点,需要设置代.移动联通wap(代理相同:10.0.0.172:80),电信wap(代理:10.0.0.200: ...

  3. 移动 联通 电信 GPRS APN 设置汇总

    中国移动 第一步,设置CMNET上网 新建APN 1.名称:cmnet 2.APN:cmnet 3.APN类型:default 就只填写上面3个选项,其他都是默认,不用填写. 第二步,设置彩信 新建A ...

  4. android 电信4gapn,电信apn怎么设置4g最快最稳定的网络?

    具体的设置方法如下: 1.首先要明确4G和APN的概念.4G是指第四代移动数字通讯网络系统.APN是一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络. 2. ...

  5. 移动apn接入点哪个快_最新联通上网卡APN的设置方法

    方法/步骤 1.先以安卓手机为例,最后附带苹果手机设置说明,安卓系统的首先在手机上找到设置的选项点击打开设置,如图所示 2.第二步,打开设置后会来到设置的主界面,如图所示! 3.第三步,来到SIM卡信 ...

  6. 2020移动apn接入点哪个快_最新联通上网卡APN的设置方法

    方法/步骤 1.先以安卓手机为例,最后附带苹果手机设置说明,安卓系统的首先在手机上找到设置的选项点击打开设置,如图所示 2.第二步,打开设置后会来到设置的主界面,如图所示! 3.第三步,来到SIM卡信 ...

  7. 联通/电信固话如何设置呼叫转移及如何取消呼叫转移

    家里有固话,但是现在有事要出门,却在等一个重要的电话,那该怎么办呢?固话的呼叫转移功能帮你! 第一步:开通呼叫转移业务 使用呼叫转移需要先办理开通这项业务才可以在固定电话上操作登记,如果知道自己固话服 ...

  8. 物联网卡设置_联通物联网卡怎么设置APN?

    1.安卓系统设置接入点(APN)请依次打开手机上的"设置"--"更多设置"--"移动网络"--"接入点(APN)"--新 ...

  9. EC20 4G 海思 3520D 拨号失败(APN需要设置为三大运营商的指定值)

    <EC20 - 利用PPP实现4G模块联网> 初步实现使用pppd连接GPRS上网 https://blog.csdn.net/kunkliu/article/details/810667 ...

最新文章

  1. 第十一天-《企业应用架构模式》-对象-关系行为模式
  2. (四)Decorator设计模式解决GET/POST请求的乱码问题(转)
  3. Java的三种工厂模式
  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的宠物医院管理系统
  5. 一个戏精程序员的内心独白...
  6. Linux问题---------E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  7. python torch.optim模块
  8. 计算机经常断开网络,当笔记本电脑经常自动断开网络连接时如何解决问题
  9. misc 小小小试牛刀
  10. vue+js input文本框输入时自动填充邮箱后缀组件封装
  11. Selection dont contain a main type
  12. Firewall 防火墙常用命令
  13. ndwi是什么意思_ASD是什么意思
  14. http工作中常见的状态码
  15. 解决Office 打开Excel 空白问题
  16. 刘德华任“100年润发”形象代言人
  17. 语音助手——垂类永动机——自动化迭代框架
  18. 逆向破解之160个CrackMe —— 001
  19. 价值上万元金色旋风2010建站培训课程整理,免费下载
  20. ijkplayer视频解码播放架构分析

热门文章

  1. python数据分析面试_python数据分析面试
  2. 阿里云rds for mysql平台介绍_阿里云RDS for MySQL实例创建账号和数据库?
  3. 固定旋转_旋转压片机如何正确更换冲模?
  4. anaconda常用指令,更新查看添加下载源等
  5. LeetCode刷题记录6——696. Count Binary Substrings(easy)
  6. Open3DGen:从RGB-D图像重建纹理3D模型的开源软件
  7. 剑指offer:面试题37. 序列化二叉树
  8. 剑指offer:面试题04. 二维数组中的查找
  9. ADPRL - 近似动态规划和强化学习 - Note 5 - Banach Fixed Point Theorem in Dynamic Programming
  10. Linux进程管理: 多进程编程