android手机获取手机设备信息
2016-12-15 16:56
537 查看
在有的项目中需要根据特定的手机信息来进行处理,这时就需要我们来获取手机的设备信息了,那首先看看我的测试机的一些基本信息:
![](https://img-blog.csdn.net/20161215164531379?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd4aWFvZ3VvMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
那么这些信息怎么获得呢??其实都封装在了TelephonyManager中,我们从里面可以拿到,但是注意的是有的手机手机号是拿不到的(例如我的nexus 5X)
好了,代码如下:
封装好的PhoneInfo 类
拿到相应的信息:
上面手机号是测试用号,不用打,不通的….哈哈哈
那么这些信息怎么获得呢??其实都封装在了TelephonyManager中,我们从里面可以拿到,但是注意的是有的手机手机号是拿不到的(例如我的nexus 5X)
好了,代码如下:
封装好的PhoneInfo 类
package com.ddv.www.shadowphone.utils; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.Point; import android.os.Build; import android.telephony.TelephonyManager; import android.view.Display; import android.view.WindowManager; /** * 读取手机设备信息测试代码 */ public class PhoneInfo { private static TelephonyManager tm; /** * 获取SIM硬件信息 * * @return */ public static TelephonyManager getTelephonyManager() { if (tm == null) tm = (TelephonyManager) UIUtils.getContext().getSystemService(Context.TELEPHONY_SERVICE); // StringBuffer sb = new StringBuffer(); // sb.append("\nDeviceId(IMEI) = " + tm.getDeviceId()); // sb.append("\nDeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion()); // sb.append("\nLine1Number = " + tm.getLine1Number()); // sb.append("\nNetworkCountryIso = " + tm.getNetworkCountryIso()); // sb.append("\nNetworkOperator = " + tm.getNetworkOperator()); // sb.append("\nNetworkOperatorName = " + tm.getNetworkOperatorName()); // sb.append("\nNetworkType = " + tm.getNetworkType()); // sb.append("\nPhoneType = " + tm.getPhoneType()); // sb.append("\nSimCountryIso = " + tm.getSimCountryIso()); // sb.append("\nSimOperator = " + tm.getSimOperator()); // sb.append("\nSimOperatorName = " + tm.getSimOperatorName()); // sb.append("\nSimSerialNumber = " + tm.getSimSerialNumber()); // sb.append("\nSimState = " + tm.getSimState()); // sb.append("\nSubscriberId(IMSI) = " + tm.getSubscriberId()); // sb.append("\nVoiceMailNumber = " + tm.getVoiceMailNumber()); // LogUtils.i(sb.toString()); return tm; } /** * 获取屏幕分辨率 * * @return */ public static int[] getMetrics() { WindowManager wm = (WindowManager) UIUtils.getContext().getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); Point point = new Point(); display.getSize(point); int width = point.x; int height = point.y; int[] metrics = {width, height}; return metrics; } /** * 设备厂商 * * @return */ public static String getPhoneBrand() { return Build.BOARD + " " + Build.MANUFACTURER; } /** * 设备名称 * * @return */ public static String getPhoneModel() { return Build.MODEL; } /** * 得到软件版本号 * * @param context 上下文 * @return 当前版本Code */ public static int getVerCode(Context context) { int verCode = -1; try { String packageName = context.getPackageName(); verCode = context.getPackageManager() .getPackageInfo(packageName, 0).versionCode; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return verCode; } /** * 获得APP名称 * * @param context * @return */ public static String getAppName(Context context) { String appName = ""; try { PackageManager packageManager = context.getPackageManager(); ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0); appName = (String) packageManager.getApplicationLabel(applicationInfo); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return appName; } }
拿到相应的信息:
//制造商: tvManufacturer.setText(getString(R.string.manufacturer) + PhoneInfo.getPhoneBrand()); //设备型号: tvEquipmentModel.setText(getString(R.string.equipment_model) + PhoneInfo.getPhoneModel()); //设备分辨率 tvDeviceResolution.setText(getString(R.string.device_resolution) + PhoneInfo.getMetrics()[0] + "x" + PhoneInfo.getMetrics()[1]); //ISDN: tvMobileIsdn.setText(getString(R.string.mobile_isdn) + PhoneInfo.getTelephonyManager().getLine1Number()); //IMEI tvMobileImei.setText(getString(R.string.mobile_imei) + PhoneInfo.getTelephonyManager().getDeviceId()); //IMSI tvMobileImsi.setText(getString(R.string.mobile_imsi) + PhoneInfo.getTelephonyManager().getSubscriberId()); //SIM卡串号 tvSimNumber.setText(getString(R.string.sim_number) + PhoneInfo.getTelephonyManager().getSimSerialNumber());
上面手机号是测试用号,不用打,不通的….哈哈哈
相关文章推荐
- android 安卓APP获取手机设备信息和手机号码的代码示例 .
- Android常见的手机设备信息获取
- Android 获取手机的IMEI等设备信息
- 【转】android 安卓APP获取手机设备信息和手机号码的代码示例
- android 安卓APP获取手机设备信息和手机号码的代码示例
- android 获取手机设备相关信息
- Android获取手机设备信息
- Android_获取手机设备信息device_id
- Android获取手机设备信息并区分真机与模拟器
- 获取Android手机设备的IMSI / IMEI 信息
- android 安卓APP获取手机设备信息和手机号码的代码示例
- Android通过反射的方法获取手机存储设备的状态信息
- android获取连接到手机热点上的设备的信息
- Android ADB工具-操作手机和获取手设备信息(四)
- android 获取手机的设备信息
- Android 获取设备信息、获取手机信息
- android安卓APP获取手机设备信息和手机号码的代码示例
- Android 获取手机的IMEI等设备信息
- android 安卓APP获取手机设备信息和手机号码的代码示例
- Android 获取手机设备信息、网络信息、SIM卡信息