Android获取硬件设备信息
2017-06-03 23:34
411 查看
此文介绍一些获取Android手机硬件信息的方法 主要是从Build和TelephonyManager中获取 以及使用反射获取SystemProperties
并使用他的get方法获取一些系统隐藏掉的API 以及某些ROM独有的数据 比如OPPO手机自己定制的osVersion ColorOS版本 OPPO手机ROM特有
分别获取了以下内容
列表内容
我对某些函数的描述可能不太对 不要喷我哦
还有某些数据会获取不到 尤其手机号码 市面上大部分的SIM卡内置都没有手机号码 所以getLine1Number 根本就取不到
想获取的朋友可以google 百度 一般都是用发短信来实现的
并使用他的get方法获取一些系统隐藏掉的API 以及某些ROM独有的数据 比如OPPO手机自己定制的osVersion ColorOS版本 OPPO手机ROM特有
分别获取了以下内容
列表内容
名称 | 接口参数名称 | 备注 | 示例 |
---|---|---|---|
序列号 | getDeviceId | 序列号IMEI | 865872025238821 |
andrlid_id | getString | android_id | bcbc00f09479aa5b |
手机号码 | getLine1Number | 手机号码 | 13117511178 |
手机卡序列号 | getSimSerialNumber | 手机卡序列号 | 89860179328595969501 |
IMSI | getSubscriberId | IMSI | 460017932859596 |
手机卡国家 | getSimCountryIso | 手机卡国家 | cn |
运营商 | getSimOperator | 运营商 | 46001 |
运营商名字 | getSimOperatorName | 运营商名字 | 中国联通 |
国家iso代码 | getNetworkCountryIso | 国家iso代码 | cn |
网络运营商类型 | getNetworkOperator | 返回MCC+MNC代码 | (SIM卡运营商国家代码和运营商网络代码)(IMSI) 46001 |
网络类型名 | getNetworkOperatorName | 返回移动网络运营商的名字(SPN) | 中国联通 |
网络类型 | getNetworkType | 3 | |
手机类型 | getPhoneType | 手机类型 | 1 |
手机卡状态 | getSimState | 1 | |
mac地址 | getMacAddress | mac地址 | a8:a6:68:a3:d9:ef |
蓝牙名称 | getName | HUAWEI TAG-TL00 | |
返回系统版本 | getDeviceSoftwareVersion | null | |
CPU型号 | cpuinfo | CPU的型号 | MT6592 |
固件版本 | getRadioVersion | 无线电固件版本号,通常是不可用的 | MOLY.WR8.W1328.MD.TG.MP.V1.P22, 2014/07/15 19:57 |
Build系列 | android.os.Build | ||
---|---|---|---|
系统版本 | RELEASE | 获取系统版本字符串。如4.1.2 或2.2 或2.3等 | 4.4.4 |
系统版本值 | SDK | 系统的API级别 一般使用下面大的SDK_INT 来查看 | 19 |
品牌 | BRAND | 获取设备品牌 | Huawei |
型号 | MODEL | 获取手机的型号 | HUAWEI G750-T01 |
ID | ID | 设备版本号 | HUAWEITAG-TLOO |
DISPLAY | DISPLAY | 获取设备显示的版本包(在系统设置中显示为版本号)和ID一样 | TAG-TLOOCO1B166 |
产品名 | PRODUCT | 整个产品的名称 | G750-T01 |
制造商 | MANUFACTURER | 获取设备制造商 | HUAWEI |
设备名 | DEVICE | 获取设备驱动名称 | hwG750-T01 |
硬件 | HARDWARE | 设备硬件名称,一般和基板名称一样(BOARD) | mt6592 |
指纹 | FINGERPRINT | 设备的唯一标识。由设备的多个信息拼接合成 | Huawei/G750-T01/hwG750-T01:4.2.2/HuaweiG750-T01/C00B152:user/ota-rel-keys,release-keys |
串口序列号 | SERIAL | 返回串口序列号 | YGKBBBB5C1711949 |
设备版本类型 | TYPE | 主要为user 或eng. | user |
描述build的标签 | TAGS | 设备标签。如release-keys 或测试的 test-keys | release-keys |
设备主机地址 | HOST | 设备主机地址 | scmbuild |
设备用户名 | USER | 基本上都为android-build | queen |
固件开发版本代号 | codename | 设备当前的系统开发代号,一般使用REL代替 | REL |
源码控制版本号 | build_incremental | 系统源代码控制值,一个数字或者git hash值 | C01B166 |
主板 | board | 获取设备基板名称 | TAG-TL00 |
主板引导程序 | bootloader | 获取设备引导程序版本号 | unkonwn |
Build时间 | time | Build时间 | 1476084456000 |
系统的API级别 | SDK_INT | 数字表示 | 19 |
cpu指令集1 | CPU_ABI | 获取设备指令集名称(CPU的类型) | arm64-v8a |
cpu指令集2 | CPU_ABI2 |
WifiManager | WIFI相关 | ||
---|---|---|---|
蓝牙地址 | getAddress | 蓝牙地址MAC地址 | 6a:cd:57:f2:3b:59 |
无线路由器名 | getSSID | WIFI名字 | 210e03fcf0 |
无线路由器地址 | getBSSID | ce:ea:8c:1a:5c:b2 | |
内网ip(wifl可用) | getIpAddress | 可以用代码转成192.168形式 | -2023511872 |
Display | 屏幕相关 | ||
---|---|---|---|
屏幕密度 | density | 屏幕密度(像素比例:0.75/1.0/1.5/2.0) | 2.0 |
屏幕密度 | densityDpi | 屏幕密度(每寸像素:120/160/240/320) | 480 |
手机内置分辨率 | getWidth | 内置好的不准确已废弃API | 720 |
手机内置分辨率 | getHeight | 1184 | |
x像素 | xdpi | 屏幕x方向每英寸像素点数 | 422.03 |
Y像素 | ydpi | 屏幕y方向每英寸像素点数 | 424.069 |
字体缩放比例 | scaledDensity | 2.0 |
代码
写的很烂 早期作品 千万不要喷我啊private TelephonyManager phone; private WifiManager wifi; private Display display; private DisplayMetrics metrics; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); phone = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); display = getWindowManager().getDefaultDisplay(); metrics = getResources().getDisplayMetrics(); init(); } private void init() { DisplayMetrics book=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(book); try { Class localClass = Class.forName("android.os.SystemProperties"); Object localObject1 = localClass.newInstance(); Object localObject2 = localClass.getMethod("get", new Class[] { String.class, String.class }).invoke(localObject1, new Object[] { "gsm.version.baseband", "no message" }); Object localObject3 = localClass.getMethod("get", new Class[] { String.class, String.class }).invoke(localObject1, new Object[] { "ro.build.display.id",""}); setEditText(R.id.get,localObject2+""); setEditText(R.id.osVersion,localObject3+""); } catch (Exception e) { e.printStackTrace(); } //获取网络连接管理者 ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); //获取网络的状态信息,有下面三种方式 NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo(); setEditText(R.id.lianwang,networkInfo.getType()+""); setEditText(R.id.lianwangname,networkInfo.getTypeName()); setEditText(R.id.imei, phone.getDeviceId()); setEditText(R.id.deviceversion,phone.getDeviceSoftwareVersion()); setEditText(R.id.imsi, phone.getSubscriberId()); setEditText(R.id.number, phone.getLine1Number()); setEditText(R.id.simserial, phone.getSimSerialNumber()); setEditText(R.id.simoperator,phone.getSimOperator()); setEditText(R.id.simoperatorname, phone.getSimOperatorName()); setEditText(R.id.simcountryiso, phone.getSimCountryIso()); setEditText(R.id.workType,phone.getNetworkType()+""); setEditText(R.id.netcountryiso,phone.getNetworkCountryIso()); setEditText(R.id.netoperator,phone.getNetworkOperator()); setEditText(R.id.netoperatorname,phone.getNetworkOperatorName()); setEditText(R.id.radiovis,android.os.Build.getRadioVersion()); setEditText(R.id.wifimac, wifi.getConnectionInfo().getMacAddress()); setEditText(R.id.getssid,wifi.getConnectionInfo().getSSID()); setEditText(R.id.getbssid,wifi.getConnectionInfo().getBSSID()); setEditText(R.id.ip,wifi.getConnectionInfo().getIpAddress()+""); setEditText(R.id.bluemac, BluetoothAdapter.getDefaultAdapter() .getAddress()); setEditText(R.id.bluname, BluetoothAdapter.getDefaultAdapter().getName() ); setEditText(R.id.cpu,getCpuName()); setEditText(R.id.andrlid_id, Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID)); setEditText(R.id.serial,android.os.Build.SERIAL); setEditText(R.id.brand,android.os.Build.BRAND); setEditText(R.id.tags, android.os.Build.TAGS); setEditText(R.id.device,android.os.Build.DEVICE); setEditText(R.id.fingerprint,android.os.Build.FINGERPRINT); setEditText(R.id.bootloader, Build.BOOTLOADER); setEditText(R.id.release, Build.VERSION.RELEASE); setEditText(R.id.sdk,Build.VERSION.SDK); setEditText(R.id.sdk_INT,Build.VERSION.SDK_INT+""); setEditText(R.id.codename,Build.VERSION.CODENAME); setEditText(R.id.incremental,Build.VERSION.INCREMENTAL); setEditText(R.id.cpuabi, android.os.Build.CPU_ABI); setEditText(R.id.cpuabi2, android.os.Build.CPU_ABI2); setEditText(R.id.board, android.os.Build.BOARD); setEditText(R.id.model, android.os.Build.MODEL); setEditText(R.id.product, android.os.Build.PRODUCT); setEditText(R.id.type, android.os.Build.TYPE); setEditText(R.id.user, android.os.Build.USER); setEditText(R.id.disply, android.os.Build.DISPLAY); setEditText(R.id.hardware, android.os.Build.HARDWARE); setEditText(R.id.host, android.os.Build.HOST); setEditText(R.id.changshang, android.os.Build.MANUFACTURER); setEditText(R.id.phonetype,phone.getPhoneType()+""); setEditText(R.id.simstate,phone.getSimState()+""); setEditText(R.id.b_id, Build.ID); setEditText(R.id.gjtime,android.os.Build.TIME+""); setEditText(R.id.width,display.getWidth()+""); setEditText(R.id.height,display.getHeight()+""); setEditText(R.id.dpi,book.densityDpi+""); setEditText(R.id.density,book.density+""); setEditText(R.id.xdpi,book.xdpi+""); setEditText(R.id.ydpi,book.ydpi+""); setEditText(R.id.scaledDensity,book.scaledDensity+""); //setEditText(R.id.wl,getNetworkState(this)+""); // 方法2 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width=dm.widthPixels; int height=dm.heightPixels; setEditText(R.id.xwidth,width+""); setEditText(R.id.xheight,height+""); } private void setEditText(int id, String s) { ((TextView) this.findViewById(id)).setText(s); } /** * 获取CPU型号 * @return */ public static String getCpuName(){ String str1 = "/proc/cpuinfo"; String str2 = ""; try { FileReader fr = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader(fr); while ((str2=localBufferedReader.readLine()) != null) { if (str2.contains("Hardware")) { return str2.split(":")[1]; } } localBufferedReader.close(); } catch (IOException e) { } return null; }
XML
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.lyq.test.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout style="@style/Item.Layout"> <TextView android:id="@+id/lianwang" style="@style/Item.Edit" android:inputType="number" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="联网方式" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:id="@+id/lianwangname" style="@style/Item.Edit" android:inputType="number" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="联网方式名称" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:id="@+id/imei" style="@style/Item.Edit" android:hint="请输入IMEI" android:inputType="number" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="IMEI" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="返回系统版本"/> <TextView android:id="@+id/deviceversion" style="@style/Item.Edit" android:hint="返回系统版本" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="IMSI"/> <TextView android:id="@+id/imsi" style="@style/Item.Edit" android:hint="请输入IMSI" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机号码"/> <TextView android:id="@+id/number" style="@style/Item.Edit" android:hint="请输入手机号码" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机卡序列号" /> <TextView android:id="@+id/simserial" style="@style/Item.Edit" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="运营商" /> <TextView android:id="@+id/simoperator" style="@style/Item.Edit" android:hint="simoperator" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="运营商名字" /> <TextView android:id="@+id/simoperatorname" style="@style/Item.Edit" android:hint="simoperator" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="国家iso代码" /> <TextView android:id="@+id/simcountryiso" style="@style/Item.Edit" android:hint="请输入" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="网络类型" /> <TextView android:id="@+id/workType" style="@style/Item.Edit" android:hint="网络类型" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机卡国家" /> <TextView android:id="@+id/netcountryiso" style="@style/Item.Edit" android:hint="手机卡国家" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="网络运营商类型" /> <TextView android:id="@+id/netoperator" style="@style/Item.Edit" android:hint="网络运营商类型" android:inputType="number" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="网络类型名" /> <TextView android:id="@+id/netoperatorname" style="@style/Item.Edit" android:hint="网络类型名" android:inputType="number" /> </RelativeLayout> <!-- <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="网络类型" /> <TextView android:id="@+id/wl" style="@style/Item.Edit" android:hint="网络类型" android:inputType="number" /> </RelativeLayout> --> <RelativeLayout style="@style/Item.Layout" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="固件版本" /> <TextView android:id="@+id/radiovis" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="mac地址" /> <TextView android:id="@+id/wifimac" style="@style/Item.Edit" android:hint="mac地址" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="无线路由器名" /> <TextView android:id="@+id/getssid" style="@style/Item.Edit" android:hint="无线路由器名" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="无线路由器地址" /> <TextView android:id="@+id/getbssid" style="@style/Item.Edit" android:hint="无线路由器地址" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="蓝牙地址" /> <TextView android:id="@+id/bluemac" style="@style/Item.Edit" android:hint="蓝牙地址" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="蓝牙名称" /> <TextView android:id="@+id/bluname" style="@style/Item.Edit" android:hint="请输入蓝牙name" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="andrlid_id" /> <TextView android:id="@+id/andrlid_id" style="@style/Item.Edit" android:hint="请输入Android ID" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="串口序列号" /> <TextView android:id="@+id/serial" style="@style/Item.Edit" android:hint="串口序列号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="品牌" /> <TextView android:id="@+id/brand" style="@style/Item.Edit" android:hint="品牌" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="get" /> <TextView android:id="@+id/get" style="@style/Item.Edit" android:hint="get" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="osVersion" /> <TextView android:id="@+id/osVersion" style="@style/Item.Edit" android:hint="osVersion" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="描述build的标签" /> <TextView android:id="@+id/tags" style="@style/Item.Edit" android:hint="描述build的标签" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="设备名" /> <TextView android:id="@+id/device" style="@style/Item.Edit" android:hint="设备名" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="主板引导程序" /> <TextView android:id="@+id/bootloader" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="系统版本" /> <TextView android:id="@+id/release" style="@style/Item.Edit" android:hint="系统版本" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="系统版本值" /> <TextView android:id="@+id/sdk" style="@style/Item.Edit" android:hint="系统版本值" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="系统的API级别" /> <TextView android:id="@+id/sdk_INT" style="@style/Item.Edit" android:hint="系统的API级别" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="固件开发版本代号" /> <TextView android:id="@+id/codename" style="@style/Item.Edit" android:hint="固件开发版本代号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="源码控制版本号" /> <TextView android:id="@+id/incremental" style="@style/Item.Edit" android:hint="源码控制版本号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="CPU型号" /> <TextView android:id="@+id/cpu" style="@style/Item.Edit" android:hint="CPU型号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="cpu指令集" /> <TextView android:id="@+id/cpuabi" style="@style/Item.Edit" android:hint="cpu指令集" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="cpu指令集2" /> <TextView android:id="@+id/cpuabi2" style="@style/Item.Edit" android:hint="" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="主板" /> <TextView android:id="@+id/board" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="型号" /> <TextView android:id="@+id/model" style="@style/Item.Edit" android:hint="请输入型号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="产品名称" /> <TextView android:id="@+id/product" style="@style/Item.Edit" android:hint="请输入型号" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="设备版本类型" /> <TextView android:id="@+id/type" style="@style/Item.Edit" android:hint="设备版本类型" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="设备用户名" /> <TextView android:id="@+id/user" style="@style/Item.Edit" android:hint="设备用户名" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="显示屏幕参数" /> <TextView android:id="@+id/disply" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="硬件名称" /> <TextView android:id="@+id/hardware" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="设备主机地址" /> <TextView android:id="@+id/host" style="@style/Item.Edit" android:hint="设备主机地址" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="制造商" /> <TextView android:id="@+id/changshang" style="@style/Item.Edit" android:hint="制造商" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机类型" /> <TextView android:id="@+id/phonetype" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机卡状态" /> <TextView android:id="@+id/simstate" style="@style/Item.Edit" android:hint="手机卡状态" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ID" /> <TextView android:id="@+id/b_id" style="@style/Item.Edit" android:hint="ID" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="内网ip" /> <TextView android:id="@+id/ip" style="@style/Item.Edit" android:hint="内网ip" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Build时间" /> <TextView android:id="@+id/gjtime" style="@style/Item.Edit" android:hint="Build时间" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="指纹" /> <TextView android:id="@+id/fingerprint" style="@style/Item.Edit" android:hint="指纹" /> </RelativeLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" ---------------手机屏幕信息--------------" /> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机内置 宽" /> <TextView android:id="@+id/width" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="手机内置 高" /> <TextView android:id="@+id/height" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="当前分辨率" /> <TextView android:id="@+id/xwidth" style="@style/Item.Edit" android:hint="当前分辨率" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="当前分辨率" /> <TextView android:id="@+id/xheight" style="@style/Item.Edit" android:hint="当前分辨率" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="dpi" /> <TextView android:id="@+id/dpi" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="density" /> <TextView android:id="@+id/density" style="@style/Item.Edit" android:hint="请输入" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="x像素" /> <TextView android:id="@+id/xdpi" style="@style/Item.Edit" android:hint="x像素" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Y像素" /> <TextView android:id="@+id/ydpi" style="@style/Item.Edit" android:hint="Y像素" /> </RelativeLayout> <RelativeLayout style="@style/Item.Layout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="字体缩放比例" /> <TextView android:id="@+id/scaledDensity" style="@style/Item.Edit" android:hint="字体缩放比例" /> </RelativeLayout> </LinearLayout> </ScrollView>
values配置信息
<style name="Item"> <item name="android:textColor">@android:color/black</item> </style> <style name="Item.Layout"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">50dip</item> <item name="android:orientation">vertical</item> </style> <style name="Item.Label"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> </style> <style name="Item.Edit"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> <item name="android:layout_marginLeft">120dip</item> <item name="android:layout_marginRight">100dip</item> </style>
我对某些函数的描述可能不太对 不要喷我哦
还有某些数据会获取不到 尤其手机号码 市面上大部分的SIM卡内置都没有手机号码 所以getLine1Number 根本就取不到
想获取的朋友可以google 百度 一般都是用发短信来实现的
效果图
相关文章推荐
- Android获取硬件设备信息
- Android获取硬件设备信息
- android 获取设备硬件信息
- android获取设备相关信息
- 【原】android获取设备基本信息
- Android获取设备信息(利用反射)
- android 获取设备Configuration配置信息
- 重新想象 Windows 8 Store Apps (30) - 信息: 获取包信息, 系统信息, 硬件信息, PnP信息, 常用设备信息
- 【Android基础 002】 获取设备信息
- Android 获取设备各种信息以及其它
- Android下使用TelephonyManager类获取设备电话相关信息
- Android 获取设备各种信息以及其它
- Android 获取设备各种信息以及其它
- android 获取设备信息
- Android开发中获取设备相关信息
- 获取Android手机设备的IMSI / IMEI 信息
- Android上获取设备的信息
- Android 获取设备各种信息以及其它
- android 安卓APP获取手机设备信息和手机号码的代码示例
- android 获取设备Id等信息