Android_获取手机设备信息device_id

2024-08-25 22:32

本文主要是介绍Android_获取手机设备信息device_id,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

执行:getDeviceInfo(Context context) 方法,返回结果就是设备信息

 /*** 获取设备的信息* @param context* @param permission* @return*/public static boolean checkPermission(Context context, String permission) {boolean result = false;if (Build.VERSION.SDK_INT >= 23) {try {Class<?> clazz = Class.forName("android.content.Context");Method method = clazz.getMethod("checkSelfPermission", String.class);int rest = (Integer) method.invoke(context, permission);if (rest == PackageManager.PERMISSION_GRANTED) {result = true;} else {result = false;}} catch (Exception e) {result = false;}} else {PackageManager pm = context.getPackageManager();if (pm.checkPermission(permission, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) {result = true;}}return result;}
public static String getDeviceInfo(Context context) {try {org.json.JSONObject json = new org.json.JSONObject();android.telephony.TelephonyManager tm = (android.telephony.TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);String device_id = null;if (checkPermission(context, Manifest.permission.READ_PHONE_STATE)) {device_id = tm.getDeviceId();}String mac = null;FileReader fstream = null;try {fstream = new FileReader("/sys/class/net/wlan0/address");} catch (FileNotFoundException e) {fstream = new FileReader("/sys/class/net/eth0/address");}BufferedReader in = null;if (fstream != null) {try {in = new BufferedReader(fstream, 1024);mac = in.readLine();} catch (IOException e) {} finally {if (fstream != null) {try {fstream.close();} catch (IOException e) {e.printStackTrace();}}if (in != null) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}}json.put("mac", mac);if (TextUtils.isEmpty(device_id)) {device_id = mac;}if (TextUtils.isEmpty(device_id)) {device_id = android.provider.Settings.Secure.getString(context.getContentResolver(),android.provider.Settings.Secure.ANDROID_ID);}json.put("device_id", device_id);return json.toString();} catch (Exception e) {e.printStackTrace();}return null;}


这篇关于Android_获取手机设备信息device_id的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106832

相关文章

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下: