Android获取手机信息的工具类
程序员文章站
2022-06-29 09:19:39
网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。
import java.io.bufferedreader;
import java...
网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。
import java.io.bufferedreader; import java.io.filereader; import java.io.ioexception; import android.app.activity; import android.content.context; import android.content.pm.applicationinfo; import android.content.pm.packagemanager; import android.net.wifi.wifiinfo; import android.net.wifi.wifimanager; import android.provider.settings; import android.telephony.telephonymanager; import android.text.format.formatter; /** * 获取手机信息工具类 * */ public class phoneutil { private static phoneutil instance; private telephonymanager tm; private activity act; private phoneutil(activity act) { tm = (telephonymanager) act.getsystemservice(context.telephony_service); this.act = act; } public static phoneutil getinstance(activity act) { if (instance == null) { instance = new phoneutil(act); } else if (instance.act != act) { instance = new phoneutil(act); } return instance; } /** 是否处于飞行模式 */ public boolean isairmodeopen() { return (settings.system.getint(act.getcontentresolver(), settings.system.airplane_mode_on, 0) == 1 ? true : false); } /** 获取手机号码 */ public string getphonenumber() { return tm == null ? null : tm.getline1number(); } /** 获取网络类型(暂时用不到) */ public int getnetworktype() { return tm == null ? 0 : tm.getnetworktype(); } /** 获取手机sim卡的序列号(imsi) */ public string getimsi() { return tm == null ? null : tm.getsubscriberid(); } /** 获取手机imei */ public string getimei() { return tm == null ? null : tm.getdeviceid(); } /** 获取手机型号 */ public static string getmodel() { return android.os.build.model; } /** 获取手机品牌 */ public static string getbrand() { return android.os.build.brand; } /** 获取手机系统版本 */ public static string getversion() { return android.os.build.version.release; } /** 获得手机系统总内存 */ public string gettotalmemory() { string str1 = "/proc/meminfo";// 系统内存信息文件 string str2; string[] arrayofstring; long initial_memory = 0; try { filereader localfilereader = new filereader(str1); bufferedreader localbufferedreader = new bufferedreader(localfilereader, 8192); str2 = localbufferedreader.readline();// 读取meminfo第一行,系统总内存大小 arrayofstring = str2.split("\\s+"); initial_memory = integer.valueof(arrayofstring[1]).intvalue() * 1024;// 获得系统总内存,单位是kb,乘以1024转换为byte localbufferedreader.close(); } catch (ioexception e) { } return formatter.formatfilesize(act, initial_memory);// byte转换为kb或者mb,内存大小规格化 } /** 获取手机屏幕宽 */ public int getscreenwidth() { return act.getwindowmanager().getdefaultdisplay().getwidth(); } /** 获取手机屏高宽 */ public int getscreenheight() { return act.getwindowmanager().getdefaultdisplay().getheight(); } /** 获取应用包名 */ public string getpackagename() { return act.getpackagename(); } /** * 获取手机mac地址 只有手机开启wifi才能获取到mac地址 */ public string getmacaddress() { string result = ""; wifimanager wifimanager = (wifimanager) act.getsystemservice(context.wifi_service); wifiinfo wifiinfo = wifimanager.getconnectioninfo(); result = wifiinfo.getmacaddress(); return result; } /** * 获取手机cpu信息 //1-cpu型号 //2-cpu频率 */ public string[] getcpuinfo() { string str1 = "/proc/cpuinfo"; string str2 = ""; string[] cpuinfo = { "", "" }; // 1-cpu型号 //2-cpu频率 string[] arrayofstring; try { filereader fr = new filereader(str1); bufferedreader localbufferedreader = new bufferedreader(fr, 8192); str2 = localbufferedreader.readline(); arrayofstring = str2.split("\\s+"); for (int i = 2; i < arrayofstring.length; i++) { cpuinfo[0] = cpuinfo[0] + arrayofstring[i] + " "; } str2 = localbufferedreader.readline(); arrayofstring = str2.split("\\s+"); cpuinfo[1] += arrayofstring[2]; localbufferedreader.close(); } catch (ioexception e) { } return cpuinfo; } /** 获取application中的meta-data内容 */ public string getmetadata(string name) { string result = ""; try { applicationinfo appinfo = act.getpackagemanager().getapplicationinfo(getpackagename(), packagemanager.get_meta_data); result = appinfo.metadata.getstring(name); } catch (exception e) { e.printstacktrace(); } return result; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Android实现列表数据按名称排序、中英文混合排序
下一篇: 樱桃开花吗?开哦还有很好的功效
推荐阅读
-
Android开发中总结的Adapter工具类【附完整源码下载】
-
Android 集成 google 登录并获取性别等隐私信息的实现代码
-
Android获取位置信息的方法
-
Android实现获取SERIAL信息的方法
-
Python类的继承、多态及获取对象信息操作详解
-
PHP实现的获取文件mimes类型工具类示例
-
Android开发实现的获取sdcard大小及内存大小工具类
-
Android开发实现的几何图形工具类GeometryUtil完整实例
-
Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
-
Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕操作】