关于获取安卓手机MAC地址的问题
一.通过以下代码获取无线网卡Mac地址
public String getMacAddress(){return (mWifiInfo==null)?"NULL":mWifiInfo.getMacAddress(); }
1.在 android 6.0以下是可以的,也就是说6.0以上不行
2.如果将手机wifi开关关掉,然后关机,开机后不打开wifi,是获取不到mac地址的,打开wifi后再获取,是能得到的(在android 4.4.2上测试得出的结论)
3.只要开机后打开过wifi,再关上,还是能获取到mac地址。
二.安卓6.0该如何获取
1.也需要打开wifi才能获取到,代码如下:
private static String getAdressMacByInterface(){try {List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());for (NetworkInterface nif : all) {if (nif.getName().equalsIgnoreCase("wlan0")) {byte[] macBytes = nif.getHardwareAddress();if (macBytes == null) {return "";}StringBuilder res1 = new StringBuilder();for (byte b : macBytes) {res1.append(String.format("%02X:",b));}if (res1.length() > 0) {res1.deleteCharAt(res1.length() - 1);}return res1.toString();}}} catch (Exception e) {Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");}return null; }private static String getAddressMacByFile(WifiManager wifiMan) throws Exception {String ret;int wifiState = wifiMan.getWifiState();wifiMan.setWifiEnabled(true);File fl = new File(fileAddressMac);FileInputStream fin = new FileInputStream(fl);ret = crunchifyGetStringFromStream(fin);fin.close();boolean enabled = WifiManager.WIFI_STATE_ENABLED == wifiState;wifiMan.setWifiEnabled(enabled);return ret; }private static String crunchifyGetStringFromStream(InputStream crunchifyStream) throws IOException {if (crunchifyStream != null) {Writer crunchifyWriter = new StringWriter();char[] crunchifyBuffer = new char[2048];try {Reader crunchifyReader = new BufferedReader(new InputStreamReader(crunchifyStream, "UTF-8"));int counter;while ((counter = crunchifyReader.read(crunchifyBuffer)) != -1) {crunchifyWriter.write(crunchifyBuffer, 0, counter);}} finally {crunchifyStream.close();}return crunchifyWriter.toString();} else {return "No Contents";} }
关于获取安卓手机MAC地址的问题相关推荐
- android8.0获取mac地址,NJS如何获取安卓手机MAC地址 安卓版本8.0以上
问题描述 我现在用H5+MUI+vue开发 官网给的获取MAC地址都不好用 要不是报错 要不就是02:00:00:00:00 这种根本不是实际地址所以想问问大神应该怎么获取 对NJS不是很了解查询不到 ...
- Unity获取安卓的MAC地址问题
最近由于项目需要安卓MAC地址的记录,但发现网上的一般方法都获取不到.发现这篇文章写的比较全,故而转载,做个记录吧.感谢原作者.原作链接在文章最后. 分为三类情况:Android6.0以下.6.0以上 ...
- 如何将随机生成的安卓手机mac地址改为固定
参考文章: http://jingyan.baidu.com/article/e8cdb32b4095e537042bad5d.html 进入re管理器,路径为/data/nvram/APCFG/,这 ...
- android+手机mac地址,Android 获取手机Mac地址,手机名称
/** * 获取手机mac地址 * 错误返回12个0 */ public static String getMacAddress(Context context) { // 获取mac地址: Stri ...
- mac地址修改_如何修改手机MAC地址?
我们都知道MAC是网卡的物理的地址,一般是固化的网卡芯片,不管是手机和电脑都是相对于的MAC地址的,不管什么情况下MAC的地址都是唯一的.而对于电脑来说大家可以通过更换网卡的方式来换MAC地址,但是对 ...
- Unity获取安卓手机运营商信息
Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用 一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了 ...
- 第三方机构能获取我的MAC地址吗?
有关浏览器指纹识别,我们最常被问到的问题是,我们是否可以隐藏MAC地址?对注重隐私的业务来说,这意味着什么?换一种更直接的说法--网站或第三方机构是否可以获取我的MAC地址?就这一问题,我们展开了调查 ...
- 获取远程网卡MAC地址
出自: http://blog.joycode.com/liuhuimiao/ 朋友mingal急问我有关获取远程网卡MAC地址的ASP.net实现.我一开始以为是获取本机MAC地址,说了几种方法给他 ...
- android 获取网卡mac_Android获取本机Mac地址及IP地址方法
1.Android 获取本机Mac 地址方法: 需要在AndroidManifest.xml文件中添加权限: public String getLocalMacAddress() { WifiMan ...
- 小程序中,iOS设备获取蓝牙设备的Mac地址
遇到的问题 在使用蓝牙的过程中,我们需要获取蓝牙设备的Mac地址.在Android设备上,onBluetoothDeviceFound方法中,deviceId是蓝牙设备的Mac地址.而在 iOS设备上 ...
最新文章
- 没想到!大数据发现微信上使用最多的表情竟是...原谅很多人不知道
- 阿里终面:为什么SSD不能当做内存用?
- 高校开学需要重新分配宿舍!国家卫健委和教育部发布重要通知
- 大脑进化追不上社会文化:化石和脱氧核糖核酸证明人类大脑进化比社会慢
- 柜位预測(一)——显示柜位曲线图
- mysqlimport
- iOS之Socket的使用-AsyncSocket
- fortran subroutine_Fortran:派生数组与数组传递进子程序耗费时间比较
- 城市遥感动态监测管理系统
- 18K-28K/m, 南京的卢技术社招:感知、OCR、SLAM方向
- web.xml中webAppRootKey
- 关于bash中if语法结构的广泛误解(转)
- 【个人网站搭建教程】阿里云服务器+宝塔+wordpress
- ubuntu安装完无法用xshell,远程链接
- linux常用命令技巧
- FFMPEG解封装后的AVPACKET存储为可播放的h264文件
- 菜鸟学习C++之Console Application
- Mac必备软件之程序员、设计师、产品经理
- 《迷途深渊》隐私声明
- 老鼠流和大象流:如何检测和监控周期性流量
热门文章
- Python对文件进行重命名
- HDU 4238 区间dp
- [...ServerPropertiesAutoConfiguration.class] cannot be opened because it does not exist
- 【已解决】The server cannot or will not process the request due to something that is perceived ..
- 三维导热问题的ADI-TDMA算法
- 火狐老是跳出提示“Firefox正在安装组件,以便播放此页面上......”
- Android 清理大师产品的具体实现(一)QQ专清
- Audio专业名词解析
- 【Linux系列文章】磁盘、进程
- Linux设置自动关机