Android APN設定及獲得手機號

來源:互聯網
上載者:User

目前供職於電信,只做電信的業務,故列表中只有電信的APN資訊

  Java代碼

  /**

  * 電信APN列表

  * @author wudongdong

  *

  */

  public class APNNET {

  public static String CTWAP="ctwap";

  public static String CTNET="ctnet";

  }

  /**

  * 電信APN列表

  * @author wudongdong

  *

  */

  public class APNNET {

  public static String CTWAP="ctwap";

  public static String CTNET="ctnet";

  }獲得APN的類型

  Java代碼

  /**

  * 獲得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;

  }

  }

  /**

  * 獲得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設定網路的代理資訊。

  Java代碼

  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();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.