文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-06-06 09:56

关注

本文实例讲述了Android基于APN获取手机号的方法。分享给大家供大家参考。具体如下:

之前很多人说无法完全获取手机号,是因为现在有的卡不能获取,有的卡能获取,现在我们可以换一种思路来考虑问题,就是用APN的方式。请看代码:

APNNET.java如下:


 
public class APNNET { 
public static String CTWAP="ctwap"; 
public static String CTNET="ctnet"; 
} 
 
public class APNNET { 
public static String CTWAP="ctwap"; 
public static String CTNET="ctnet"; 
} 
//获得APN的类型  
 
public class ApnUtil { 
private static Uri PREFERRED_APN_URI = Uri 
.parse("content://telephony/carriers/preferapn"); 
 
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; 
} 
} 
 
public class ApnUtil { 
private static Uri PREFERRED_APN_URI = Uri 
.parse("content://telephony/carriers/preferapn"); 
 
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; 
} 
}

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

希望本文所述对大家的Android程序设计有所帮助。

您可能感兴趣的文章:Android实现通讯录效果——获取手机号码和姓名Android获取手机号码和运营商信息的方法android 获取本机的IP地址和mac物理地址的实现方法Android NDK开发详细介绍Android中获取设备的各种信息总结Android onCreate( )方法详细介绍Android 手机获取手机号实现方法


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯