首页 > 其他分享 >安卓开发获取安卓设备信息工具类

安卓开发获取安卓设备信息工具类

时间:2023-04-22 21:23:35浏览次数:33  
标签:return String 安卓 获取 uniqueId import 工具 设备

以下是一个获取安卓设备信息的工具类:

```
import android.content.Context;
import android.os.Build;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;

public class DeviceInfoUtils {

    /**
     * 获取设备唯一标识符
     * @return
     */
    public static String getDeviceUniqueId(Context context) {
        String uniqueId = null;
        TelephonyManager telephonyManager = null;
        try {
            telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            uniqueId = telephonyManager.getDeviceId();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (uniqueId == null) {
            uniqueId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
        }
        if (uniqueId == null) {
            uniqueId = UUID.randomUUID().toString();
        }
        MessageDigest sha;
        try {
            sha = MessageDigest.getInstance("SHA-1");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return uniqueId;
        }
        byte[] hash = sha.digest(uniqueId.getBytes());
        StringBuilder sb = new StringBuilder();
        for (byte b : hash) {
            sb.append(Integer.toHexString(b));
        }
        return sb.toString();
    }

    /**
     * 获取设备名称
     * @return
     */
    public static String getDeviceName() {
        return Build.MODEL;
    }

    /**
     * 获取设备系统版本
     * @return
     */
    public static String getDeviceOsVersion() {
        return Build.VERSION.RELEASE;
    }
}
```
在使用调用该工具类获取设备信息,例如:

```
String uniqueId = DeviceInfoUtils.getDeviceUniqueId(context);
String deviceName = DeviceInfoUtils.getDeviceName();
String deviceOsVersion = DeviceInfoUtils.getDeviceOsVersion();
``` 
请注意,不同的设备可能会返回不同的设备标识符,这个标识符也可能会随设备的恢复出厂设置而变化。因此,获取设备唯一标识符时需要谨慎处理。

  

标签:return,String,安卓,获取,uniqueId,import,工具,设备
From: https://www.cnblogs.com/chenKnowledgeConllection/p/17344001.html

相关文章

  • 获取安卓设备MAC地址工具类
    获取安卓设备的MAC地址需要使用WifiManager,以下是一个获取MAC地址的工具类:```importandroid.annotation.SuppressLint;importandroid.content.Context;importandroid.net.wifi.WifiInfo;importandroid.net.wifi.WifiManager;importandroid.os.Build;importandroid.......
  • 原型设计工具比较及实践
    一.原型设计工具比较及实践1.墨刀    墨刀(ckingBot)磨刀刻石科技有限公司旗下的一款更偏向于“交互向”的在线原型设计与协同工具。墨刀致力于简化产品制作和设计流程,采用简便的拖拽连线操作,作为一款在线原型设计软件,墨刀支持云端保存,实时预览,一键分享,及多人协作功能,简单......
  • 慧荣(SMI)SM3257ENLT量产工具v2.5.30中文汉化
    最近手头一个PE启动U盘插入电脑能显示盘符,但是不能打开。如果有同样的主控和症状可以试试这个工具。先用 ChipGenius 查了一下主控厂商以及主控型号;主控厂商:SMI(慧荣)主控型号:SM3257ENLT-ISP140211-AA-然后再网上找了一圈,至于找到一个可以用的工具,最后利用这......
  • 原型设计工具比较及实现
    目录一、原型设计工具比较墨刀AxureMockplus二、原型设计1.主题名称2.功能3.界面设计考虑因素4.切换界面5.界面切换流程一、原型设计工具比较1、墨刀适用范围墨刀是一款在线设计编辑原型的工具,特点短平快,适合一些APP,小型pc工程,以及一些频繁迭代的产品。优点墨刀有......
  • 命令行和cmc工具搭建长安链多节点集群和部署智能合约
    这里写目录标题配置环境gitgolanggcc环境搭建源码下载源码编译配置文件生成PermissionedWithCert编译及安装包制作启动节点集群查看节点启动使用正常使用CMC命令行工具部署、调用合约编译&配置部署示例合约长安链部署目录说明参考资料配置环境git下载地址:https://git-scm.com/dow......
  • QGIS中导入dwg文件并使用GetWKT插件获取绘制元素WKT字符串以及QuickWKT插件实现WKT显
    场景QGIS在Windows上下载安装与建立空间数据库连接:在上面实现QGIS的安装之后,版本是3.26.3。业务需求:1、在dwg文件上绘制多边形区域,并获取绘制区域的wkt字符串。2、根据已知的wkt字符串,在dwg上显示。如果新建多边形图层参考如下QGIS怎样设置简体中文以及新建可编辑的多边形的图层:......
  • 原型设计工具比较及实践
    目录一、原型设计工具比较1.墨刀2.axure3.Mockplus二、原型设计1.主题2.主要功能3.界面设计考虑因素(登录部分)4.页面切换5.页面切换流程一、原型设计工具比较1.墨刀适用领域墨刀是一款功能强大的原型设计工具,适用于设计师、开发者、产品经理等多个领域。优点1.界面简......
  • mysql获取当前年月 mysql中replace into用法
    mysql获取当前年月 //1.获取年月日时分秒selectSYSDATE()AS'年月日时分秒';2020-07-0216:36:17//2.获取(年月日)selectDATE(CURDATE())as'年月日';selectCURDATE()as'年月日';selectcurrent_dateAS'年月日';2020-07-02//3.获取(时分秒):......
  • Microsoft PowerPoint LTSC 2021 for Mac(ppt演示工具) v16.73 beta版
    MicrosoftPowerPointLTSC2021forMac是一款专业的幻灯片演示软件,适用于苹果电脑。是office LTSC2021套装中的一个组成部分,与Word、Excel和Outlook等其他应用程序一起提供。PowerPointLTSC2021具有许多易于使用的工具和功能,可以帮助用户创建具有吸引力的演示文稿。Microsoft......
  • 代理工具实战基础,SQL注入漏洞测试
    在Web安全课程中,“插件”是能够增强或丰富原有工具功能的小程序Firebug为Firefox浏览器提供了更加丰富的开发者工具箱(网络审查页面元素)HackBar为Firefox浏览器提供快速构造HTTP请求及多种编码变换的功能(构造数据包)AdvacedCookieManager:编辑Cookie类插件为Firefox浏览器提供快速修......