热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android获取wifi列表_如何获取设备唯一识别码IMEI和Mac地址

下面这个工具类提供了一些方法,可以获取设备AndroidID、IMEI、序列号、以及由他们组成的唯一识别码、网卡的MAC地址、蓝牙MAC地址。代码如下:
83d4993747464aa67dcb11d5a5a23d80.png

下面这个工具类提供了一些方法,可以获取设备AndroidID、IMEI、序列号、以及由他们组成的唯一识别码、网卡的MAC地址、蓝牙MAC地址。代码如下:

DeviceInfoUtil:

package com.home;

import java.util.UUID;

import android.bluetooth.BluetoothAdapter;

import android.content.Context;

import android.content.Intent;

import android.net.wifi.WifiInfo;

import android.net.wifi.WifiManager;

import android.provider.Settings.Secure;

import android.telephony.TelephonyManager;

public class DeviceInfoUtil {

/**

* 得到设备AndroidID,需要设备添加 Google账户

*

* @param context

* @return

*/

public static String getAndroidID(Context context) {

String androidID = Secure.getString(context.getContentResolver(),

Secure.ANDROID_ID);

return androidID;

}

/**

* 得到设备IMEI值

*

* @param context

* @return

*/

public static String getIMEI(Context context) {

TelephonyManager tm = (TelephonyManager) context

.getSystemService(Context.TELEPHONY_SERVICE);

return tm.getDeviceId();

}

/**

* 得到设备序列号

*

* @param context

* @return

*/

public static String getSimSerialNumber(Context context) {

TelephonyManager tm = (TelephonyManager) context

.getSystemService(Context.TELEPHONY_SERVICE);

return tm.getSimSerialNumber();

}

/**

* 得到设备唯一识别码

*

* @param context

* @return

*/

public static String getUniqueNumber(Context context) {

String androidID = getAndroidID(context);

String imei = getIMEI(context);

String simSerialNumber = getSimSerialNumber(context);

UUID uuid = new UUID(androidID.hashCode(),

((long) imei.hashCode() <<32) | simSerialNumber.hashCode());

return uuid.toString();

}

/**

* 获取设备本身网卡的MAC地址

*

* &#64;param context

* &#64;return

*/

public static String getWLANMACAddress(Context context) {

String macAddress &#61; "";

WifiManager wm &#61; (WifiManager) context

.getSystemService(Context.WIFI_SERVICE);

WifiInfo info &#61; wm.getConnectionInfo();

if (info !&#61; null) {

macAddress &#61; info.getMacAddress();

} else {

macAddress &#61; "No Wifi Device";

}

return macAddress;

}

/**

* 获取蓝牙MAC地址

*

* &#64;param context

* &#64;return

*/

public static String getBluetoothMACAddress(Context context) {

String btMacAddress &#61; "";

BluetoothAdapter ba &#61; BluetoothAdapter.getDefaultAdapter();

if (ba !&#61; null) {

if (!ba.isEnabled()) {

btMacAddress &#61; "Bluetooth not open";

// 启动蓝牙

Intent in &#61; new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

context.startActivity(in);

} else {

btMacAddress &#61; ba.getAddress();

}

} else {

btMacAddress &#61; "No Bluetooth Device";

}

return btMacAddress;

}

}

权限&#xff1a;



推荐阅读
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • D17:C#设计模式之十六观察者模式(Observer Pattern)【行为型】
    一、引言今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份& ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 本文深入探讨了WPF框架下的数据验证机制,包括内置验证规则的使用、自定义验证规则的实现方法、错误信息的有效展示策略以及验证时机的选择,旨在帮助开发者构建更加健壮和用户友好的应用程序。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • Spring Boot + RabbitMQ 消息确认机制详解
    本文详细介绍如何在 Spring Boot 项目中使用 RabbitMQ 的消息确认机制,包括消息发送确认和消息接收确认,帮助开发者解决在实际操作中可能遇到的问题。 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文档介绍了如何使用ESP32开发板在STA模式下实现与TCP服务器的通信,包括环境搭建、代码解析及实验步骤。 ... [详细]
author-avatar
风过无痕啦啦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有