精华内容
下载资源
问答
  • 如何获取手机的mac地址
    千次阅读
    2021-07-10 15:26:15

    代码如下:需要注意的是,请连接真机调试,否则会提示 plus 的错误

    getDeviceMac() { //获取本机Mac地址
                    var deviceMac = ""
                    var net = plus.android.importClass("java.net.NetworkInterface")
                    var wl0 = net.getByName('wlan0')
                    var macByte = wl0.getHardwareAddress()
                    deviceMac = ''
                    for (var i = 0; i < macByte.length; i++) {
                        var tmp = "";
                        var num = macByte[i];
                        if (num < 0) {
                            tmp = (255 + num + 1).toString(16);
                        } else {
                            tmp = num.toString(16);
                        }
                        if (tmp.length == 1) {
                            tmp = "0" + tmp;
                        }
                        deviceMac += tmp;
                    }
                    console.log(deviceMac)
                },

    更多相关内容
  • 主要介绍了Android开发获取手机Mac地址适配所有Android版本,需要的朋友可以参考下
  • 首先说明下,下面两种方法均可以获得手机mac地址,但是有个限制,是在iOS7以下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。 官方文档上这样写的: “Twolow-...
  • * 通过WiFiManager获取mac地址 * @param context * @return */ private static String tryGetWifiMac(Context context) { WifiManager wm = (WifiManager) context.getApplicationContext().getSystemService...
  • Android获取手机MAC地址

    2019-10-18 08:53:57
    Android获取手机mac地址根据系统版本有几个不同的获取方式,6.0之前的 6.0-7.0的,7.0之后的都各不一样,直接上代码: /** * Android 6.0 之前(不包括6.0)获取mac地址 * 必须的权限 <uses-permission ...

    Android获取手机mac地址根据系统版本有几个不同的获取方式,6.0之前的  6.0-7.0的,7.0之后的都各不一样,直接上代码:

        /**
         * Android 6.0 之前(不包括6.0)获取mac地址
         * 必须的权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
         * @param context * @return
         */
        private String getMacDefault(Context context) {
            String mac = "0";
            if (context == null) {
                return mac;
            }
            WifiManager wifi = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
            WifiInfo info = null;
            try {
                info = wifi.getConnectionInfo();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            if (info == null) {
                return null;
            }
            mac = info.getMacAddress();
    
            return mac;
        }
    
        /**
         * Android 6.0-Android 7.0 获取mac地址
         */
        private String getMacAddress() {
            String macSerial = null;
            String str = "0";
    
            try {
                Process pp = Runtime.getRuntime().exec("cat/sys/class/net/wlan0/address");
                InputStreamReader ir = new InputStreamReader(pp.getInputStream());
                LineNumberReader input = new LineNumberReader(ir);
    
                while (null != str) {
                    str = input.readLine();
                    if (str != null) {
                        macSerial = str.trim(); //去空格
                        break;
                    }
                }
            } catch (IOException ex) {
                // 赋予默认值
                ex.printStackTrace();
            }
    
            return macSerial;
        }
    
        /**
         * Android 7.0之后获取Mac地址
         * 遍历循环所有的网络接口,找到接口是 wlan0
         * 必须的权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
         * @return
         */
        private String getMacFromHardware() {
            try {
                List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
                for (NetworkInterface nif : all) {
                    if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
    
                    byte[] macBytes = nif.getHardwareAddress();
                    if (macBytes == null) {
                        return null;
                    }
    
                    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 ex) {
                ex.printStackTrace();
            }
            return null;
        }
    
        private String getMac() {
            String mac = "0";
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
                mac = getMacDefault(this);
            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
                mac = getMacAddress();
            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                mac = getMacFromHardware();
            }
            if (mac == null || mac.equals("")) {
                mac = "0";
            }
            return mac;
        }

    调用getMac()方法即可获取到各系统版本手机的mac地址。需要权限如下:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

     

    展开全文
  • Android获取手机MAC地址.pdf
  • JS获取计算机mac地址以及IP和用户名的实现方法,只适用于IE且activeX开启
  • 项目中有需求用wifi设备获取接入终端的mac地址,这个利用wifi探针可以做到,但有局限性,就是手机必须连接上wifi或者说发起了连接请求,目前仍做不到用户的无感知探测(PS:这么猥琐的方式还是不鼓励)。透过表面看...

    项目中有需求用wifi设备获取接入终端的mac地址,这个利用wifi探针可以做到,但有局限性,就是手机必须连接上wifi或者说发起了连接请求,目前仍做不到用户的无感知探测(PS:这么猥琐的方式还是不鼓励)。透过表面看本质,探索下原因,主要是Beacon和Probe Request在发挥作用

    下面引用了802.11协议簇里面关于wifi连接过程的描述,从网络上copy的,更详细的可以看IEEE相关文档

    0x1: 普通无加密连接过程

    1. AP发送Beacon广播管理帧

    因为AP发送的这个Beacon管理帧数据包是广播地址,所以我们的PCMIA内置网卡、或者USB外界网卡会接收到这个数据包,然后在我们的"无线连接列表"中显示出来

    2. 客户端向承载指定SSID的AP发送Probe Request(探测请求)帧

    当我们点击"连接"的时候,无线网卡就会发送一个Prob数据帧,用来向AP请求连接

    3. AP接入点对客户端的SSID连接请求进行应答

    AP对客户端的连接作出了回应,并表示不接受任何形式的"帧有效负载加密(frame-payload-encryption)"

    4. 客户端对目标AP请求进行身份认证(Authentication)

    5. AP对客户端的身份认证(Authentication)请求作出回应

    AP回应,表示接收身份认证

    6. 客户端向AP发送连接(Association)请求

    身份认证通过之后,所有的准备工作都做完了,客户端这个时候可以向WLAN AP发起正式的连接请求,请求接入WLAN

    7. AP对连接(Association)请求进行回应

    AP对客户端的连接请求(Association)予以了回应(包括SSID、性能、加密设置等)。至此,Wi-Fi的连接身份认证交互就全部结束了,之后就可以正常进行数据发送了

    8. 客户端向AP请求断开连接(Disassociation)

    当我们点击"断开连接"的时候,网卡会向AP发送一个断开连接的管理数据帧,请求进行断开连接

    展开全文
  • 获取android手机mac地址

    2021-04-22 20:58:22
    android系统6.0之后,对mac地址获取添加了权限,按照普通的方法获取如下:WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;WifiInfo wifiInf = wifiMan.getConnectionInfo()...

    android系统6.0之后,对mac地址的获取添加了权限,按照普通的方法获取如下:

    WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;

    WifiInfo wifiInf = wifiMan.getConnectionInfo();

    return wifiInf.getMacAddress();

    但是这种情况,获取到的mac地址都是:02:00:00:00:00:00,看来就需要另一种方法来获取mac地址:

    private static final String marshmallowMacAddress = "02:00:00:00:00:00";

    private static final String fileAddressMac = "/sys/class/net/wlan0/address";

    public static String getAdresseMAC(Context context) {

    WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;

    WifiInfo wifiInf = wifiMan.getConnectionInfo();

    if(wifiInf !=null && marshmallowMacAddress.equals(wifiInf.getMacAddress())){

    String result = null;

    try {

    result= getAdressMacByInterface();

    if (result != null){

    return result;

    } else {

    result = getAddressMacByFile(wifiMan);

    return result;

    }

    } catch (IOException e) {

    Log.e("MobileAccess", "Erreur lecture propriete Adresse MAC");

    } catch (Exception e) {

    Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");

    }

    } else{

    if (wifiInf != null && wifiInf.getMacAddress() != null) {

    return wifiInf.getMacAddress();

    } else {

    return "";

    }

    }

    return marshmallowMacAddress;

    }

    接下来,来分析一下其中两个重要的方法

    1.getAdressMacByInterface()

    private static String getAdressMacByInterface(){

    try {

    List 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;

    }

    2.getAddressMacByFile(wifiMan)

    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地址

    千次阅读 2016-06-08 14:28:15
    /**  * 获取手机MAC地址  * @return  */  public String getLocalMac()  {  String mac = "";  // 获取wifi管理器  WifiManager wifiMng = (WifiManager)getSystemService(Cont
  • Android手机如何获取Mac地址

    千次阅读 2021-06-04 16:33:56
    最常用的方法,通过WiFiManager获取:/*** 通过WiFiManager获取mac地址* @param context* @return*/private static String tryGetWifiMac(Context context) {WifiManager wm = (WifiManager) context....
  • android 从6.0开始,通过BluetoothAdapter.getDefaultAdapter().getAddress()获取地址是一个固定值02:00:00:00:00:00。下面给大家介绍Android 获取蓝牙Mac地址的正确方法,一起看看吧
  • 该工程主要应用于获取苹果手机mac地址,但前提是连接了wifi路由的情况下。原理:我们知道苹果是不允许我们获取其设备硬件的mac地址的,在iOS7以下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC...
  • 主要为大家详细介绍了Android手机获取Mac地址的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 摘要 腾兴网为您分享:Js获取客户端IP地址MAC地址,小象优品,悟空识字,顺丰,企业滴滴等软件知识,以及外研版五年级上册点读,photoshop6.0,盘点软件,凡客网上购物商城,天正建筑2014,第一创业网上行情,...
  • Js获取客户端MAC地址

    2013-12-10 16:26:46
    单点登录时需要获取用户的电脑IP或mac地址来进行单点登录验证。
  • 代码没问题, 应该是系统限制了 硬件标识符访问权 为给用户提供更严格的... Log.e("macAddress",""+mac_address); } 就是说, 不是Android 8的问题, Android 6.0 就改了. 旧的代码不能用, 新的代码在7.0以后可以试一下.
  • Android中打开APP软件获取手机IP和MAC地址
  • 获取手机Mac地址

    2016-07-27 10:41:33
    private String getMacAddress(){   String result = "";   WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);   WifiInfo wifiInfo = wifiManager.
  • Android获取手机Mac地址

    2016-02-21 23:38:34
    WifiManager wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);  WifiInfo info= wifi.getConnectionInfo();  Log.i("111", "qqqqqqqq" + info.getMacAddress());
  • 获取mac地址

    热门讨论 2011-12-21 11:48:49
    获取MAC地址的几种方法的一个类,希望能对大家有所帮助。
  • Android手机获取Mac地址的几种方法,androidmac最常用的方法,通过WiFiManager获取:/*** 通过WiFiManager获取mac地址* @param context* @return*/private static String tryGetWifiMac(Context context) {...
  • 获取手机mac地址和串号IMEI

    万次阅读 2017-02-14 21:55:11
    IMEI 是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产...
  • /** * @ClassName GetPhoneLocationUtil * @Description 根据手机号码查询出归属地 * @Author 戴书博 * @Date 2019/11/4 15:19 * @Version 1.0 **/ @Slf4j public class GetPhoneLocationUtil { /** * @Method get...
  • public static String getMac() { try { List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces()); for (NetworkInterface nif : all) { if (!"wlan0".equalsIgnoreCase...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,371
精华内容 12,548
关键字:

如何获取手机的mac地址