Android APN开发流程分析(4)

2019-04-23 11:31

Toast.makeText(ApnNew.this, \is unsuccess\Toast.LENGTH_SHORT).show(); } };

private OnClickListener existlis = new OnClickListener(){

@Override

public void onClick(View v) { int ri = checkAPN(); if(ri == -1)

Toast.makeText(ApnNew.this, \Toast.LENGTH_SHORT).show(); else

Toast.makeText(ApnNew.this, \Toast.LENGTH_SHORT).show(); } }; /*

* 入口

* 设置指定的APN接入点 * */

public void setCmwapAPN() { try {

if (!isCmwap()) {

int net_type = getNetWorkType(); m_oldNetWorkType = net_type;

if ((phoneSettedApnID = checkAPN()) != -1) {

SetDefaultAPN(phoneSettedApnID); } else {

InsetAPN();

SetDefaultAPN(apnd_id); }

不存在存在此APN\此APN\

Thread.sleep(8000L); } }

catch (Exception e) {

Log.i(\ } }

private int apnd_id = 0; int m_oldApnId = -1; int m_oldNetWorkType = -1;

private int phoneSettedApnID = -1;//当前APNid private static final Uri APN_TABLE_URI = Uri.parse(\

private static final Uri PREFERRED_APN_URI = Uri.parse(\ private String getMCC() {

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String numeric = tm.getSimOperator(); String mcc = numeric.substring(0, 3); Log.i(\ return mcc; }

private String getMNC() {

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String numeric = tm.getSimOperator();

String mnc = numeric.substring(3, numeric.length()); Log.i(\ return mnc; }

private String getSimOperator() {

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

String SimOperator = tm.getSimOperator(); return SimOperator; }

public ApnNode getDefaultAPN() {

String id = \ String apn = \ String proxy = \ String name = \ String port = \ String type = \ String mcc = \ String mnc = \ String numeric = \

ApnNode apnNode = new ApnNode(); // Uri uri = Uri.parse(\

Cursor mCursor = getContentResolver().query(PREFERRED_APN_URI, null, null, null, null); if (mCursor == null) {

// throw new Exception(\ return null; }

while (mCursor != null && mCursor.moveToNext()) {

id = mCursor.getString(mCursor.getColumnIndex(\ name = mCursor.getString(mCursor.getColumnIndex(\ apn = mCursor.getString(mCursor.getColumnIndex(\ proxy = mCursor.getString(mCursor.getColumnIndex(\ port = mCursor.getString(mCursor.getColumnIndex(\ mcc = mCursor.getString(mCursor.getColumnIndex(\ mnc = mCursor.getString(mCursor.getColumnIndex(\

numeric = mCursor.getString(mCursor.getColumnIndex(\ Log.d(\apn + \ }

phoneSettedApnID = Integer.valueOf(id); apnNode.setName(name); apnNode.setApn(apn); apnNode.setProxy(proxy);

apnNode.setPort(port); apnNode.setMcc(mcc); apnNode.setMnc(mnc);

apnNode.setNumeric(numeric); return apnNode; }

public boolean isCurretApn() {

ApnNode apnNode = new ApnNode(); apnNode.setName(\中国电信CTNET\ apnNode.setApn(\

apnNode.setProxy(\ apnNode.setPort(\ apnNode.setMcc(getMCC()); apnNode.setMnc(getMNC());

apnNode.setNumeric(getSimOperator()); ApnNode checkApn = getDefaultAPN(); if ((apnNode.getApn().equals(checkApn.getApn()) && apnNode.getMcc().equals(checkApn.getMcc()) && apnNode.getMnc().equals(checkApn.getMnc()) && apnNode.getNumeric().equals( checkApn.getNumeric())) && (checkApn.getType() == null || \|| \

(apnNode.getApn().equals(checkApn.getApn()) && checkApn.getProxy().equals(\ {

return true; }

m_oldApnId = phoneSettedApnID; return false; }

/**

* 获得网络连接管理 *

* @return */

private ConnectivityManager getConnectManager() {

ConnectivityManager m_ConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

return m_ConnectivityManager; }

/**

* 获得当前联网类型wifi or mobile *

* @return */

private int getNetWorkType() {

if (getConnectManager() != null) {

NetworkInfo networkInfo getConnectManager().getActiveNetworkInfo(); if (networkInfo != null)

return networkInfo.getType(); return -1; } else {

return -1; } }

private boolean isCmwap() {

int net_type = getNetWorkType();

if (net_type == ConnectivityManager.TYPE_MOBILE) {

return isCurretApn(); }

else if (net_type == ConnectivityManager.TYPE_WIFI) {

return false; }

return false; }

public boolean setDefaultApn(int apnId) {

boolean res = false;

ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put(\

try

=


Android APN开发流程分析(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:水浸法提取山药多糖的工艺研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: