Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1

简介: Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)

原创不易,你们对阿超的赞就是阿超持续更新的动力!)

(以免丢失,建议收藏~~~)

获取设备id

public static String getDeviceId() {  if (context == null) {  return "";  }  return DeviceIdentifier.getAndroidID(context);  } 

获取ip地址

 public static String getIp() {  String networkType = getNetworkType();  if (networkType.equals("WiFi")) {  WifiManager wifiManager = null;  try {  wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);  WifiInfo wifiInfo = wifiManager.getConnectionInfo();  int i = wifiInfo.getIpAddress();  return intToIp(i);  } catch (Exception e) {  e.printStackTrace();  return null;  }  } else if (networkType.equals("2G") || networkType.equals("3G") || networkType.equals("4G")) {  try {  for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {  NetworkInterface intf = en.nextElement();  for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {  InetAddress inetAddress = enumIpAddr.nextElement();  if (!inetAddress.isLoopbackAddress()) {  return inetAddress.getHostAddress().toString();  }  }  }  } catch (Exception ex) {  return null;  }  } else {  return null;  }  return null;  }   /**  * 将ip的整数形式转换成ip形式  */  public static String intToIp(int i) {  return (i & 0xFF) + "." +  ((i >> 8) & 0xFF) + "." +  ((i >> 16) & 0xFF) + "." +  (i >> 24 & 0xFF);  } 

获取APP应用程序名称

/** /**  * 获取APP应用程序名称  */  public static String getAppName(Context context) {  try {  PackageManager packageManager = context.getPackageManager();  PackageInfo packageInfo = packageManager.getPackageInfo(  context.getPackageName(), 0);  int labelRes = packageInfo.applicationInfo.labelRes;  return context.getResources().getString(labelRes);  } catch (Exception e) {  e.printStackTrace();  }  return null;  } 

获取设备名称

public static String getDeviceName() {  return Build.DEVICE;  }

获取设备型号

public static String getDeviceModel() {  return Build.MODEL;  }

获取设备处理器

public static String getDeviceBoard() {  return Build.BOARD;  }

获取设备品牌获取

public static String getDeviceManufacturer() {  return Build.MANUFACTURER;  }


获取设备制造商

public static String getDeviceManufacturer() {  return Build.MANUFACTURER;  }

获取设备oaid

方案一

// build.gradle需要引入获取oaid库 compileOnly 'com.github.gzu-liyujiang:Android_CN_OAID:4.2.3' • 1 • 2
public static String getOAID() {  if (Build.VERSION.SDK_INT < 29) {  return DeviceIdentifier.getIMEI(context));  } else {  return DeviceIdentifier.getOAID(context));  }  } 

方案二

public static String getOAID() {  if (context == null) {  return "";  }  if (DeviceID.supportedOAID(context)) {  return DeviceID.getOAID();  }  return "";  } 

Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2:https://developer.aliyun.com/article/1473469

目录
相关文章
|
2月前
|
应用服务中间件 Nacos nginx
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
本文为 Mac 用户介绍微服务项目环境搭建,含阿里云服务器用 Docker 装 Nacos 1.2.0,本地通过 brew 装 OpenJDK 8、Maven 3.6.1、Redis,Docker 部署 MySQL 5.7 并配字符集,及 Nginx 安装与反向代理设置,附命令与配置步骤。
215 4
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
|
4月前
|
存储 机器学习/深度学习 API
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
719 31
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
|
7月前
|
存储 Android开发 数据安全/隐私保护
如何在Android设备上撤销Flutter应用程序的所有权限?
如何在Android设备上撤销Flutter应用程序的所有权限?
413 64
|
7月前
|
缓存 Android开发 开发者
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
1209 62
|
7月前
|
开发工具 Android开发 开发者
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
424 61
|
9月前
|
移动开发 安全 Java
Android历史版本与APK文件结构
通过以上内容,您可以全面了解Android的历史版本及其主要特性,同时掌握APK文件的结构和各部分的作用。这些知识对于理解Android应用的开发和发布过程非常重要,也有助于在实际开发中进行高效的应用管理和优化。希望这些内容对您的学习和工作有所帮助。
876 83
|
7月前
|
Java API 开发工具
Android cmdline-tools版本与最小JDK的关系
总的来说,Android的命令行工具和JDK之间的关系就像是一场舞会,两者需要彼此配合,才能共同创造出美妙的舞蹈。如果选择了不合适的舞伴(即不兼容的版本),可能会导致舞蹈中的步伐混乱,甚至无法完成舞蹈。而即使选择了合适的舞伴,也需要考虑舞伴的舞蹈技巧(即性能和稳定性),才能确保舞蹈的完美表现。因此,选择合适的Android命令行工具和JDK版本,是每一个Android开发者都需要面对的重要决定。
231 13
|
8月前
|
安全 开发工具 Android开发
【Android Git】Git版本回退方式
在实际操作中,选择合适的版本回退方式,可以有效地管理代码版本,提高开发效率和代码质量。
457 26
|
9月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
591 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
Java Android开发 图形学
Android修行手册之Kotlin-【类型转换】、【函数定义】、【匿名函数】、【可变参数】篇
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
621 0

热门文章

最新文章

下一篇