扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个你要根据移动和其他号码不同的地方 , 也就是开头三位数来判断啊
10年积累的网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有来凤免费网站建设让你可以放心的选择与我们合作。
可以将手机号用字符来表示
然后用String的 startsWith("150") 方法来判断 , 当然如果这样的话 , 你需要搜集移动号码的所有可能性 , 然后用 || 逻辑或 放在一起
或者你也可以把所有移动手机号所属的前三位 放到一个数组或者集合中 , 比如{"150","158"}
然后把需要判断的手机号 截取前三位 , 判断是否在集合或者数组中
这个是在android上获取MAC的方法
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String mac = info.getMacAddress();
通过设备开通WiFi连接获取Mac地址是最可取的,代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 设备开通WiFi连接,通过wifiManager获取Mac地址
*
* @author 高焕杰
*/
public static String getMacFromWifi(Context context){
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
State wifiState = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(wifiState == NetworkInfo.State.CONNECTED){//判断当前是否使用wifi连接
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) { //如果当前wifi不可用
wifiManager.setWifiEnabled(true);
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
return wifiInfo.getMacAddress();
}
return null;
}
除了上面这种方法,网上还给出了另外两种方法:
1、通过调用Linux的busybox命令获取Mac地址:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* 通过调用Linux的busybox命令获取Mac地址
*
* @author 高焕杰
*/
private static String getMacFromCallCmd(){
try {
String readLine = ;
Process process = Runtime.getRuntime().exec(busybox ifconfig);
BufferedReader bufferedReader = new BufferedReader (new InputStreamReader(process.getInputStream()));
while ((readLine = bufferedReader.readLine ()) != null) {//执行命令cmd,只取结果中含有HWaddr的这一行
if(readLine.contains(HWaddr)){
return readLine.substring(readLine.indexOf(HWaddr)+6, readLine.length()-1);
}
}
}catch(Exception e) { //如果因设备不支持busybox工具而发生异常。
e.printStackTrace();
}
return null;
}
注意:这种方法在Android Pad中可以准确获取到的Mac地址,但是在Android手机中无法准确获取到。
2、通过查询记录了MAC地址的文件(文件路径:“/proc/net/arp”)获取Mac地址:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
* 通过查询记录了MAC地址的文件(文件路径:“/proc/net/arp”)获取Mac地址
*
* @author 高焕杰
*/
private static String getMacFromFile(Context context){
String readLine =;
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new FileReader(new File(/proc/net/arp)));
int rollIndex = 0;
while((readLine = bufferedReader.readLine())!=null){
if(rollIndex == 1){
break;
}
rollIndex = rollIndex + 1;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if(readLine !=null readLine.length()1){
String[] subReadLineArray = readLine.split( );
int rollIndex = 1;
for(int i = 0; i subReadLineArray.length; ++i){
if(!TextUtils.isEmpty(subReadLineArray[i])){
if(rollIndex == 4){
return subReadLineArray[i];
}
rollIndex = rollIndex + 1;
}
}
}
return null;
}
注意:无论在Android Pad中还是在Android手机中,这种方法都无法准确获取到Mac地址。
这是移动网上营业厅系统出了问题,它的系统是用jsp技术做的,“java.lang.NullPointerException”是Java编程语言里面很常见的一个异常,叫做空指针异常,可能是数据库连接时出的错
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流