如何修改android手机apn的值

首先先得到当前的apn..对当前的APN进行判断

String resultApn = getCurrentAPNFromSetting(getContentResolver());
     if (!resultApn.equals("")) {
      if (!resultApn.equals("cmwap")) {
       int apnCode = updateCurrentAPN(
         getContentResolver(), "cmwap");
      }

}

然后在修改APN为你想要的模式,apnCode的值为1则修改成功!本地测试通过...
/**
  * 得到当前的apn
  *
  * @param resolver
  * @return
  */
 public static String getCurrentAPNFromSetting(ContentResolver resolver) {
  Cursor cursor = null;
  try {
   cursor = resolver.query(CURRENT_APN_URI, null, null, null, null);
   String curApnId = null;
   if (cursor != null && cursor.moveToFirst()) {
    curApnId = cursor.getString(cursor.getColumnIndex("_id"));
    String apnName1 = cursor
      .getString(cursor.getColumnIndex("apn"));
   }
   cursor.close();
   // find apn name from apn list
   if (curApnId != null) {
    cursor = resolver.query(APN_LIST_URI, null, " _id = ?",
      new String[] { curApnId }, null);
    if (cursor != null && cursor.moveToFirst()) {
     String apnName = cursor.getString(cursor
       .getColumnIndex("apn"));
     return apnName;
    }
   }

  } catch (SQLException e) {
  } finally {
   if (cursor != null) {
    cursor.close();
   }
  }

  return null;
 }

 /**
  * 修改当年的apn
  *
  * @param resolver
  * @param newAPN
  * @return
  */
 public static int updateCurrentAPN(ContentResolver resolver, String newAPN) {
  Cursor cursor = null;
  try {
   // get new apn id from list
   cursor = resolver.query(APN_LIST_URI, null,
     " apn = ? and current = 1",
     new String[] { newAPN.toLowerCase() }, null);
   String apnId = null;
   if (cursor != null && cursor.moveToFirst()) {
    apnId = cursor.getString(cursor.getColumnIndex("_id"));
   }
   cursor.close();

   // set new apn id as chosen one
   if (apnId != null) {
    ContentValues values = new ContentValues();
    values.put("apn_id", apnId);
    resolver.update(CURRENT_APN_URI, values, null, null);
   } else {
    // apn id not found, return 0.
    return 0;
   }
  } catch (SQLException e) {

  } finally {
   if (cursor != null) {
    cursor.close();
   }
  }

  // update success
  return 1;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值