当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

关于安卓手机id怎么查看,你需要知道这些Android 手机信息获取详解

和你学习一辈子。这里是程序员Android。

安卓手机是我们经常使用的工具之一。买手机之前,手机制造商会提供手机参数。那么问题来了。如何获取手机的参数信息?(威廉莎士比亚,美国作家)。

本文主要介绍Android开发中的一些知识点,通过阅读本文,可以获得以下内容3360

一、获取手机基本信息(制造商、型号等参数)

二、设备信息收集实施图表

三、获取手机设备宽度、高度、IMEI信息

四、获得手机制造商名称、产品名称、手机品牌、手机型号、主板名称、设备名称。

五、获取手机硬件名称、SDK版本、Android版本、语言支持、默认语言。

六、获取SD卡存储信息

第七,获取手机ram、ROM存储信息

八、DeviceInfoUtils软件包类

九、SD卡实用程序包类

下面介绍如何获取上述信息。

一、 获取手机基本信息(厂商、型号等参数)

以小米手机为例,手机常用的基本信息可以在Settings--> About Phone中看到,

例如下图:



小米手机设备信息图

那么如何获取这些设备信息呢? Android中 通常通过 android.os.Build类方法可以获取更多手机设备信息。

二、 设备信息获取实现图



获取手机IMEI、宽、高、是否有SD卡,RAM、ROM、SD卡、是否联网、网络类型


默认语言,设备名,型号、厂商、Fingerprint、Android 版本、SDK版本、Google 安全patch、发布时间、版本类型、用户名


产品名、ID、产品名、主板名

三、 获取手机设备 宽、高、IMEI 信息方法

获取手机宽、高、IMEI信息方法如下:

/** * 获取设备宽度(px) * */ public static int getDeviceWidth(Context context) { return con().getDisplayMetrics().widthPixels; } /** * 获取设备高度(px) */ public static int getDeviceHeight(Context context) { return con().getDisplayMetrics().heightPixels; } /** * 获取设备的唯一标识, 需要 “android.”权限 */ public static String getIMEI(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService); String deviceId = (); if (deviceId == null) { return "UnKnown"; } else { return deviceId; } }

注意: 获取IMEI 需要获取手机状态权限

<!-- 读取手机IMEI的设备权限 -->

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

如果是Android 6.0 之后的代码请使用动态申请权限的方法申请权限,否认会报安全异常的错误SecurityException,进而导致运行报错。

如需了解更多 系统安全权限的内容,请看 之前写的文章 Android 系统权限使用详解

四、 获取手机厂商名、产品名、手机品牌、手机型号、主板名、设备名的方法

获取手机厂商名、产品名、手机品牌、手机型号、主板名、设备名的方法如下:

/** * 获取厂商名 * **/ public static String getDeviceManufacturer() { return android.os.Build.MANUFACTURER; } /** * 获取产品名 * **/ public static String getDeviceProduct() { return android.os.Build.PRODUCT; } /** * 获取手机品牌 */ public static String getDeviceBrand() { return android.os.Build.BRAND; } /** * 获取手机型号 */ public static String getDeviceModel() { return android.os.Build.MODEL; } /** * 获取手机主板名 */ public static String getDeviceBoard() { return android.os.Build.BOARD; } /** * 设备名 * **/ public static String getDeviceDevice() { return android.os.Build.DEVICE; } /** * * * fingerprit 信息 * **/ public static String getDeviceFubgerprint() { return android.os.Build.FINGERPRINT; }

五、 获取手机硬件名、SDK版本、android版本 、语言支持、默认语言等方法

获取手机硬件名、SDK版本、android版本 、语言支持、默认语言等方法如下:

/** * 硬件名 * * **/ public static String getDeviceHardware() { return android.os.Build.HARDWARE; } /** * 主机 * * **/ public static String getDeviceHost() { return android.os.Build.HOST; } /** * * 显示ID * **/ public static String getDeviceDisplay() { return android.os.Build.DISPLAY; } /** * ID * * **/ public static String getDeviceId() { return android.os.Build.ID; } /** * 获取手机用户名 * * **/ public static String getDeviceUser() { return android.os.Build.USER; } /** * 获取手机 硬件序列号 * **/ public static String getDeviceSerial() { return android.os.Build.SERIAL; } /** * 获取手机Android 系统SDK * * @return */ public static int getDeviceSDK() { return android.os.Build.VERSION.SDK_INT; } /** * 获取手机Android 版本 * * @return */ public static String getDeviceAndroidVersion() { return android.os.Build.VERSION.RELEASE; } /** * 获取当前手机系统语言。 */ public static String getDeviceDefaultLanguage() { return Locale.getDefault().getLanguage(); } /** * 获取当前系统上的语言列表(Locale列表) */ public static String getDeviceSupportLanguage() { Log.e("wangjie", "Local:" + Locale.GERMAN); Log.e("wangjie", "Local:" + Locale.ENGLISH); Log.e("wangjie", "Local:" + Locale.US); Log.e("wangjie", "Local:" + Locale.CHINESE); Log.e("wangjie", "Local:" + Locale.TAIWAN); Log.e("wangjie", "Local:" + Locale.FRANCE); Log.e("wangjie", "Local:" + Locale.FRENCH); Log.e("wangjie", "Local:" + Locale.GERMANY); Log.e("wangjie", "Local:" + Locale.ITALIAN); Log.e("wangjie", "Local:" + Locale.JAPAN); Log.e("wangjie", "Local:" + Locale.JAPANESE); return Locale.getAvailableLocales().toString(); }

六、 获取 SD 卡存储信息



SD卡信息

1.判断SD是否挂载方法

判断SD是否挂载方法如下:

/** * 判断SD是否挂载 */ public static boolean isSDCardMount() { return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); }

2. 获取SD 存储信息的方法

获取SD 存储信息的方法如下:

/** * 获取手机存储 ROM 信息 * * type: 用于区分内置存储于外置存储的方法 * * 内置SD卡 :INTERNAL_STORAGE = 0; * * 外置SD卡: EXTERNAL_STORAGE = 1; * **/ public static String getStorageInfo(Context context, int type) { String path = getStoragePath(context, type); /** * 无外置SD 卡判断 * **/ if (isSDCardMount() == false || Tex(path) || path == null) { return "无外置SD卡"; } file file = new File(path); StatFs statFs = new StatF()); String stotageInfo; long blockCount = (); long bloackSize = (); long totalSpace = bloackSize * blockCount; long availableBlocks = (); long availableSpace = availableBlocks * bloackSize; stotageInfo = "可用/总共:" + Forma(context, availableSpace) + "/" + Forma(context, totalSpace); return stotageInfo; }

3. 获取手机ROM (内置存储,外置存储)存储路径的方法

获取手机ROM 存储信息的方法如下:

/** * 使用反射方法 获取手机存储路径 * * **/ public static String getStoragePath(Context context, int type) { StorageManager sm = (StorageManager) context .getSystemService); try { Method getPathsMethod = ().getMethod("getVolumePaths", null); String[] path = (String[]) ge(sm, null); switch (type) { case INTERNAL_STORAGE: return path[type]; case EXTERNAL_STORAGE: if > 1) { return path[type]; } else { return null; } default: break; } } catch (Exception e) { e.printStackTrace(); } return null; } /** * 获取 手机 RAM 信息 方法 一 * */ public static String getTotalRAM(Context context) { long size = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo outInfo = new MemoryInfo(); ac(outInfo); size = ou; return Forma(context, size); } /** * 手机 RAM 信息 方法 二 * */ public static String getTotalRAMOther(Context context) { String path = "/proc/meminfo"; String firstLine = null; int totalRam = 0; try { FileReader fileReader = new FileReader(path); BufferedReader br = new BufferedReader(fileReader, 8192); firstLine = br.readLine().split("\\s+")[1]; br.close(); } catch (Exception e) { e.printStackTrace(); } if (firstLine != null) { totalRam = (int) Ma((new Floa(firstLine) / (1024 * 1024)).doubleValue())); long totalBytes = 0; } return Forma(context, totalRam); } /** * 获取 手机 可用 RAM * */ public static String getAvailableRAM(Context context) { long size = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo outInfo = new MemoryInfo(); ac(outInfo); size = ou; return Forma(context, size); }

七、获取手机 RAM、ROM存储信息

1.RAM:

运行时内存,此大小直接决定手机运行的流畅度,相当于电脑内存。

2.ROM :

手机存储(分内置SD卡,外置SD卡),此大小直接决定着手机可以存储资源的大小,相当于电脑硬盘。

以红米手机为例:

RAM= 1904716KB= 1.82G



红米4 手机 RAM、ROM存储信息


红米4 memory 信息 meminfo

3.获取 RAM存储信息的方法如下:

/** * 获取 手机 RAM 信息 * */ public static String getRAMInfo(Context context) { long totalSize = 0; long availableSize = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo memoryInfo = new MemoryInfo(); ac(memoryInfo); totalSize = memoryIn; availableSize = memoryIn; return "可用/总共:" + Forma(context, availableSize) + "/" + Forma(context, totalSize); }

4. 获取手机ROM存储信息的方法如下:

/** * 获取手机存储 ROM 信息 * * type: 用于区分内置存储于外置存储的方法 * * 内置SD卡 :INTERNAL_STORAGE = 0; * * 外置SD卡: EXTERNAL_STORAGE = 1; * **/ public static String getStorageInfo(Context context, int type) { String path = getStoragePath(context, type); /** * 无外置SD 卡判断 * **/ if (isSDCardMount() == false || Tex(path) || path == null) { return "无外置SD卡"; } File file = new File(path); StatFs statFs = new StatF()); String stotageInfo; long blockCount = (); long bloackSize = (); long totalSpace = bloackSize * blockCount; long availableBlocks = (); long availableSpace = availableBlocks * bloackSize; stotageInfo = "可用/总共:" + Forma(context, availableSpace) + "/" + Forma(context, totalSpace); return stotageInfo; }

八、DeviceInfoUtils 封装类

为了方便查询使用设备信息,小编已经封装成一个Utils类。代码如下:

package com.; import java.u; import android.R.string; import android.con; import android.; import android.u; /* * DeviceIn * * Created on: 2017-11-16 * Author: wangjie * * Welcome attention to weixin public number get more info * * WeiXin Public Number : ProgramAndroid * 微信公众号 :程序员Android * */ public class DeviceInfoUtils { /** * 获取设备宽度(px) * */ public static int getDeviceWidth(Context context) { return con().getDisplayMetrics().widthPixels; } /** * 获取设备高度(px) */ public static int getDeviceHeight(Context context) { return con().getDisplayMetrics().heightPixels; } /** * 获取设备的唯一标识, 需要 “android.”权限 */ public static String getIMEI(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService); String deviceId = (); if (deviceId == null) { return "UnKnown"; } else { return deviceId; } } /** * 获取厂商名 * **/ public static String getDeviceManufacturer() { return android.os.Build.MANUFACTURER; } /** * 获取产品名 * **/ public static String getDeviceProduct() { return android.os.Build.PRODUCT; } /** * 获取手机品牌 */ public static String getDeviceBrand() { return android.os.Build.BRAND; } /** * 获取手机型号 */ public static String getDeviceModel() { return android.os.Build.MODEL; } /** * 获取手机主板名 */ public static String getDeviceBoard() { return android.os.Build.BOARD; } /** * 设备名 * **/ public static String getDeviceDevice() { return android.os.Build.DEVICE; } /** * * * fingerprit 信息 * **/ public static String getDeviceFubgerprint() { return android.os.Build.FINGERPRINT; } /** * 硬件名 * * **/ public static String getDeviceHardware() { return android.os.Build.HARDWARE; } /** * 主机 * * **/ public static String getDeviceHost() { return android.os.Build.HOST; } /** * * 显示ID * **/ public static String getDeviceDisplay() { return android.os.Build.DISPLAY; } /** * ID * * **/ public static String getDeviceId() { return android.os.Build.ID; } /** * 获取手机用户名 * * **/ public static String getDeviceUser() { return android.os.Build.USER; } /** * 获取手机 硬件序列号 * **/ public static String getDeviceSerial() { return android.os.Build.SERIAL; } /** * 获取手机Android 系统SDK * * @return */ public static int getDeviceSDK() { return android.os.Build.VERSION.SDK_INT; } /** * 获取手机Android 版本 * * @return */ public static String getDeviceAndroidVersion() { return android.os.Build.VERSION.RELEASE; } /** * 获取当前手机系统语言。 */ public static String getDeviceDefaultLanguage() { return Locale.getDefault().getLanguage(); } /** * 获取当前系统上的语言列表(Locale列表) */ public static String getDeviceSupportLanguage() { Log.e("wangjie", "Local:" + Locale.GERMAN); Log.e("wangjie", "Local:" + Locale.ENGLISH); Log.e("wangjie", "Local:" + Locale.US); Log.e("wangjie", "Local:" + Locale.CHINESE); Log.e("wangjie", "Local:" + Locale.TAIWAN); Log.e("wangjie", "Local:" + Locale.FRANCE); Log.e("wangjie", "Local:" + Locale.FRENCH); Log.e("wangjie", "Local:" + Locale.GERMANY); Log.e("wangjie", "Local:" + Locale.ITALIAN); Log.e("wangjie", "Local:" + Locale.JAPAN); Log.e("wangjie", "Local:" + Locale.JAPANESE); return Locale.getAvailableLocales().toString(); } public static String getDeviceAllInfo(Context context) { return "\n\n1. IMEI:\n\t\t" + getIMEI(context) + "\n\n2. 设备宽度:\n\t\t" + getDeviceWidth(context) + "\n\n3. 设备高度:\n\t\t" + getDeviceHeight(context) + "\n\n4. 是否有内置SD卡:\n\t\t" + SDCardU() + "\n\n5. RAM 信息:\n\t\t" + SDCardU(context) + "\n\n6. 内部存储信息\n\t\t" + SDCardU(context, 0) + "\n\n7. SD卡 信息:\n\t\t" + SDCardU(context, 1) + "\n\n8. 是否联网:\n\t\t" + U(context) + "\n\n9. 网络类型:\n\t\t" + U(context) + "\n\n10. 系统默认语言:\n\t\t" + getDeviceDefaultLanguage() + "\n\n11. 硬件序列号(设备名):\n\t\t" + android.os.Build.SERIAL + "\n\n12. 手机型号:\n\t\t" + android.os.Build.MODEL + "\n\n13. 生产厂商:\n\t\t" + android.os.Build.MANUFACTURER + "\n\n14. 手机Fingerprint标识:\n\t\t" + android.os.Build.FINGERPRINT + "\n\n15. Android 版本:\n\t\t" + android.os.Build.VERSION.RELEASE + "\n\n16. Android SDK版本:\n\t\t" + android.os.Build.VERSION.SDK_INT + "\n\n17. 安全patch 时间:\n\t\t" + android.os.Build.VERSION.SECURITY_PATCH + "\n\n18. 发布时间:\n\t\t" + U) + "\n\n19. 版本类型:\n\t\t" + android.os.Build.TYPE + "\n\n20. 用户名:\n\t\t" + android.os.Build.USER + "\n\n21. 产品名:\n\t\t" + android.os.Build.PRODUCT + "\n\n22. ID:\n\t\t" + android.os.Build.ID + "\n\n23. 显示ID:\n\t\t" + android.os.Build.DISPLAY + "\n\n24. 硬件名:\n\t\t" + android.os.Build.HARDWARE + "\n\n25. 产品名:\n\t\t" + android.os.Build.DEVICE + "\n\n26. Bootloader:\n\t\t" + android.os.Build.BOOTLOADER + "\n\n27. 主板名:\n\t\t" + android.os.Build.BOARD + "\n\n28. CodeName:\n\t\t" + android.os.Build.VERSION.CODENAME + "\n\n29. 语言支持:\n\t\t" + getDeviceSupportLanguage(); } }

九、SDCardUtils 封装类

为了方便查询使用设备信息,小编已经封装成一个Utils类。代码如下:

package com.; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.lang.re; import android.a; import android.a.MemoryInfo; import android.con; import android.os.Build; import android.os.Environment; import android.os.StatFs; import android.os.; import android.; import android.; /* * SDCardU * * Created on: 2017-11-22 * Author: wangjie * * Welcome attention to weixin public number get more info * * WeiXin Public Number : ProgramAndroid * 微信公众号 :程序员Android * */ public class SDCardUtils { private static final int INTERNAL_STORAGE = 0; private static final int EXTERNAL_STORAGE = 1; /** * 获取 手机 RAM 信息 * */ public static String getRAMInfo(Context context) { long totalSize = 0; long availableSize = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo memoryInfo = new MemoryInfo(); ac(memoryInfo); totalSize = memoryIn; availableSize = memoryIn; return "可用/总共:" + Forma(context, availableSize) + "/" + Forma(context, totalSize); } /** * 判断SD是否挂载 */ public static boolean isSDCardMount() { return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); } /** * 获取手机存储 ROM 信息 * * type: 用于区分内置存储于外置存储的方法 * * 内置SD卡 :INTERNAL_STORAGE = 0; * * 外置SD卡: EXTERNAL_STORAGE = 1; * **/ public static String getStorageInfo(Context context, int type) { String path = getStoragePath(context, type); /** * 无外置SD 卡判断 * **/ if (isSDCardMount() == false || Tex(path) || path == null) { return "无外置SD卡"; } File file = new File(path); StatFs statFs = new StatF()); String stotageInfo; long blockCount = (); long bloackSize = (); long totalSpace = bloackSize * blockCount; long availableBlocks = (); long availableSpace = availableBlocks * bloackSize; stotageInfo = "可用/总共:" + Forma(context, availableSpace) + "/" + Forma(context, totalSpace); return stotageInfo; } /** * 使用反射方法 获取手机存储路径 * * **/ public static String getStoragePath(Context context, int type) { StorageManager sm = (StorageManager) context .getSystemService); try { Method getPathsMethod = ().getMethod("getVolumePaths", null); String[] path = (String[]) ge(sm, null); switch (type) { case INTERNAL_STORAGE: return path[type]; case EXTERNAL_STORAGE: if > 1) { return path[type]; } else { return null; } default: break; } } catch (Exception e) { e.printStackTrace(); } return null; } /** * 获取 手机 RAM 信息 方法 一 * */ public static String getTotalRAM(Context context) { long size = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo outInfo = new MemoryInfo(); ac(outInfo); size = ou; return Forma(context, size); } /** * 手机 RAM 信息 方法 二 * */ public static String getTotalRAMOther(Context context) { String path = "/proc/meminfo"; String firstLine = null; int totalRam = 0; try { FileReader fileReader = new FileReader(path); BufferedReader br = new BufferedReader(fileReader, 8192); firstLine = br.readLine().split("\\s+")[1]; br.close(); } catch (Exception e) { e.printStackTrace(); } if (firstLine != null) { totalRam = (int) Ma((new Floa(firstLine) / (1024 * 1024)).doubleValue())); long totalBytes = 0; } return Forma(context, totalRam); } /** * 获取 手机 可用 RAM * */ public static String getAvailableRAM(Context context) { long size = 0; ActivityManager activityManager = (ActivityManager) context .getSystemService); MemoryInfo outInfo = new MemoryInfo(); ac(outInfo); size = ou; return Forma(context, size); } /** * 获取手机内部存储空间 * * @param context * @return 以M,G为单位的容量 */ public static String getTotalInternalMemorySize(Context context) { File file = Environment.getDataDirectory(); StatFs statFs = new StatF()); long blockSizeLong = (); long blockCountLong = (); long size = blockCountLong * blockSizeLong; return Forma(context, size); } /** * 获取手机内部可用存储空间 * * @param context * @return 以M,G为单位的容量 */ public static String getAvailableInternalMemorySize(Context context) { File file = Environment.getDataDirectory(); StatFs statFs = new StatF()); long availableBlocksLong = (); long blockSizeLong = (); return Forma(context, availableBlocksLong * blockSizeLong); } /** * 获取手机外部存储空间 * * @param context * @return 以M,G为单位的容量 */ public static String getTotalExternalMemorySize(Context context) { File file = Environment.getExternalStorageDirectory(); StatFs statFs = new StatF()); long blockSizeLong = (); long blockCountLong = (); return Formatter .formatFileSize(context, blockCountLong * blockSizeLong); } /** * 获取手机外部可用存储空间 * * @param context * @return 以M,G为单位的容量 */ public static String getAvailableExternalMemorySize(Context context) { File file = Environment.getExternalStorageDirectory(); StatFs statFs = new StatF()); long availableBlocksLong = (); long blockSizeLong = (); return Forma(context, availableBlocksLong * blockSizeLong); } /** * * SD 卡信息 * */ public static String getSDCardInfo() { SDCardInfo sd = new SDCardInfo(); if (!isSDCardMount()) return "SD card 未挂载!"; = true; StatFs sf = new StatF() .getPath()); = (); = (); = (); = (); = (); = (); = (); return (); } public static class SDCardInfo { boolean isExist; long totalBlocks; long freeBlocks; long availableBlocks; long blockByteSize; long totalBytes; long freeBytes; long availableBytes; @Override public String toString() { return "isExist=" + isExist + "\ntotalBlocks=" + totalBlocks + "\nfreeBlocks=" + freeBlocks + "\navailableBlocks=" + availableBlocks + "\nblockByteSize=" + blockByteSize + "\ntotalBytes=" + totalBytes + "\nfreeBytes=" + freeBytes + "\navailableBytes=" + availableBytes; } } // add start by wangjie for SDCard TotalStorage public static String getSDCardTotalStorage(long totalByte) { double byte2GB = totalByte / 1024.00 / 1024.00 / 1024.00; double totalStorage; if (byte2GB > 1) { totalStorage = Ma(byte2GB); if (totalStorage > 1 && totalStorage < 3) { return 2.0 + "GB"; } else if (totalStorage > 2 && totalStorage < 5) { return 4.0 + "GB"; } else if (totalStorage >= 5 && totalStorage < 10) { return 8.0 + "GB"; } else if (totalStorage >= 10 && totalStorage < 18) { return 16.0 + "GB"; } else if (totalStorage >= 18 && totalStorage < 34) { return 32.0 + "GB"; } else if (totalStorage >= 34 && totalStorage < 50) { return 48.0 + "GB"; } else if (totalStorage >= 50 && totalStorage < 66) { return 64.0 + "GB"; } else if (totalStorage >= 66 && totalStorage < 130) { return 128.0 + "GB"; } } else { // below 1G return get values totalStorage = totalByte / 1024.00 / 1024.00; if (totalStorage >= 515 && totalStorage < 1024) { return 1 + "GB"; } else if (totalStorage >= 260 && totalStorage < 515) { return 512 + "MB"; } else if (totalStorage >= 130 && totalStorage < 260) { return 256 + "MB"; } else if (totalStorage > 70 && totalStorage < 130) { return 128 + "MB"; } else if (totalStorage > 50 && totalStorage < 70) { return 64 + "MB"; } } return totalStorage + "GB"; } // add end by wangjie for SDCard TotalStorage }

1.《关于安卓手机id怎么查看,你需要知道这些Android 手机信息获取详解》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《关于安卓手机id怎么查看,你需要知道这些Android 手机信息获取详解》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3301929.html

上一篇

360手机助手怎么安装本地软件看这里!360手机助手产品体验报告

安卓手机id怎么查看?终于找到答案了亲测:通过adb获取安卓手机的adid信息

安卓手机id怎么查看?终于找到答案了亲测:通过adb获取安卓手机的adid信息

安卓手机id怎么查看相关介绍,ADB shell设置getsecure Android _ id Adid相关知识:设备首次启动时,64位数字将随机生成,并存储为十六进制字符串。这个十六进制字符串是ANDROID_ID。此值在由w...

安卓手机id怎么查看?终于找到答案了移动设备(手机)的唯一ID详解

  • 安卓手机id怎么查看?终于找到答案了移动设备(手机)的唯一ID详解
  • 安卓手机id怎么查看?终于找到答案了移动设备(手机)的唯一ID详解
  • 安卓手机id怎么查看?终于找到答案了移动设备(手机)的唯一ID详解

安卓手机id怎么查看?总结很全面速看!如何查看小程序的原始ID、AppID和AppSecret

  • 安卓手机id怎么查看?总结很全面速看!如何查看小程序的原始ID、AppID和AppSecret
  • 安卓手机id怎么查看?总结很全面速看!如何查看小程序的原始ID、AppID和AppSecret
  • 安卓手机id怎么查看?总结很全面速看!如何查看小程序的原始ID、AppID和AppSecret