我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在Android中获取手机的唯一标识码的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在Android中获取手机的唯一标识码的方法

在Android中获取手机的唯一标识码的方法

在Android平台上,无论是手机还是平板,获取设备唯一标识码的方式是通用的。以下是一些常见的方式:

1. IMEI(International Mobile Equipment Identity)

这种方式只适用于有电话功能的设备,并且需要 READ_PHONE_STATE 权限。

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {  // TODO: Consider calling ActivityCompat#requestPermissions  // here to request the missing permissions, and then overriding  return;}String imei = telephonyManager.getDeviceId(); 

2. Android ID

Android ID 是设备首次启动时产生的 64-bit number (16位的十六进制字符串)。如果设备进行了出厂设置,该值可能改变。在Android O版本(8.0)及以上,如果应用具有 READ_PHONE_STATE 权限,或者应用的 targetSdkVersion 小于 26,每个应用看到的 Android ID 可能不同。

String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);

3. UUID (Universally Unique Identifier)

可以通过UUID类生成一个基本上可以保证全球唯一的标识符,但是需要注意的是,每次调用都会生成一个新的UUID。

UUID uuid = UUID.randomUUID();

4. 获取WLAN MAC地址
MAC 地址在某些情况下也可以作为设备的唯一标识。但是,由于 Android 6.0 (Marshmallow) 开始,未连接到网络的设备返回的 MAC 地址总是 02:00:00:00:00:00。

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);String macAddress = wifiManager.getConnectionInfo().getMacAddress();

5. 获取Bluetooth MAC地址

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();String bluetoothAddress = bluetoothAdapter.getAddress();

其中:

  • IMEI是唯一的硬件序列号,但需要READ_PHONE_STATE权限
  • Android ID在恢复出厂设置后会改变
  • WLAN/Bluetooth MAC地址在WiFi/蓝牙关闭时无法获取

一般来说:

  • IMEI是最可靠的设备唯一标识
  • 可以将多个ID组合使用,如IMEI+Android ID
  • 获取到ID后需要加密处理,不直接暴露
  • 必须在AndroidManifest中申明对应的权限
  • 如果你需要在应用中跟踪设备,可以使用 Android 提供的 Advertising ID,这是一个为应用广告跟踪而设计的用户可重置的 ID。

注意:获取设备唯一标识符应尊重用户的隐私,不应用于敏感的用途,如用户跟踪等,并且需要在应用的隐私政策中进行明确的告知。

来源地址:https://blog.csdn.net/baidu_38317922/article/details/133991214

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在Android中获取手机的唯一标识码的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

在Android中获取手机的唯一标识码的方法

在Android中获取手机的唯一标识码的方法 在Android平台上,无论是手机还是平板,获取设备唯一标识码的方式是通用的。以下是一些常见的方式: 1. IMEI(International Mobile Equipment Identit
在Android中获取手机的唯一标识码的方法
2023-12-23

android手机获取唯一标识的方法

获取手机唯一标识 拼接的方式获取手机唯一标识第一种方式是获取IMEI,但是有的手机如果不是正品的话,就获取不到所以通过这一种方式还是会出现有的设备是没有唯一标识的 第二种方式获取手机卡的序列号,当然这种也不是唯一的,因为有的手机是双卡双待的
2023-05-31

android获取手机唯一标识的方法

代码如下:import android.provider.Settings.Secure; private String android_id = Secure.getString(getContext().getContentResolv
2022-06-06

获取Android系统唯一识别码的方法

本文实例讲述了获取Android系统唯一识别码的方法。分享给大家供大家参考。具体如下: 在计算机上,我们习惯用MAC地址来标志一台计算机。在Android设备上,可以用IMIE或者Android ID来标志一个设备。 看一下Android上
2022-06-06

Nodejs 获取时间加手机标识的32位标识实现代码

具体代码如下所示:var crypto = require("crypto"); function randomlogn(num){var n = num.split('');var m = [];for(var i=0;i<16;i++)
2022-06-04

Android应用中获取设备唯一ID的方法有哪些

本篇文章为大家展示了Android应用中获取设备唯一ID的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。先来看看几种比较单一的方式:IMEI方式:TelephonyManager.getD
2023-05-31

在Android中获取本机号码的方法有哪些

今天就跟大家聊聊有关在Android中获取本机号码的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android获取手机本机号码的实现方法反射TelephoneManage
2023-05-30

Android中获取手机屏幕大小的方法

本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图:具体代码: 我们可以通过使用类DisplayMetric
2022-06-06

Android手机获取Mac地址的方法

最常用的方法,通过WiFiManager获取: private static String tryG
2023-05-31

Android中获取IMEI码的方法

核心代码:Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();1.加入权限在manifest.xml文件中要添加
2022-06-06

Android基于APN获取手机号的方法

本文实例讲述了Android基于APN获取手机号的方法。分享给大家供大家参考。具体如下: 之前很多人说无法完全获取手机号,是因为现在有的卡不能获取,有的卡能获取,现在我们可以换一种思路来考虑问题,就是用APN的方式。请看代码: APNNET
2022-06-06

Android获取手机通话记录的方法

Android如何获取手机通话记录,本文为大家揭晓。 获取手机通话记录流程: 1、 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2、resolver
2022-06-06

Android获取手机号码和运营商信息的方法

本文实例讲述了Android获取手机号码和运营商信息的方法。分享给大家供大家参考。具体实现方法如下:代码如下:package com.pei.activity; import android.app.Activity; imp
2022-06-06

Android手机获取IP地址的两种方法

1.使用WIFI 首先设置用户权限代码如下:
2022-06-06

android开发中获取手机分辨率大小的方法

所以,记录下核心代码:代码如下:DisplayMetrics metrics=new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);获
2022-06-06

获取Android手机中所有短信的实现代码

Java核心代码:public String getSmsInPhone() { final String SMS_URI_ALL = "content://sms/"; final String SMS_URI_INBOX = "c
2022-06-06

Android获取手机SIM卡运营商信息的方法

本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下:/*** 获取SIM卡运营商* * @param context* @re
2022-06-06

Android获取手机系统版本等信息的方法

本文实例讲述了Android获取手机系统版本等信息的方法。分享给大家供大家参考。具体如下:String phoneInfo = "Product: " + android.os.Build.PRODUCT; phoneInfo += ",
2022-06-06

Android获取本机电话号码的简单方法

如何在Android上获取本机电话号码,目前Android上提供了一个API可以读取早期SIM卡上固化的号码, 代码如下:private String getPhoneNumber(){ TelephonyManager mT
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录