目前我了解用到的内容有:TelephonyManager类、Build类、Secure类
1:创建一个activity在展示:
显示效果图:
xml文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".GetPhoneInfoActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="imei:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_imei" android:text="可以获取imei" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="imsi:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_imsi" android:text="可以获取imsi" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="手机型号:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_MODEL" android:text="手机型号" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="手机号码:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_phoneNumber" android:text="手机号码" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MAC地址:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_Mac" android:text="MAC地址" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="手机宽高:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_width_height" android:text="宽高" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ICCID:" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/et_ICCID" android:text="ICCID" /> </LinearLayout> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/scrollView" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="手机全部信息" android:id="@+id/tv_PhoneInfo" /> </ScrollView> </LinearLayout>
java类
package com.palmv.getphoneinfo; import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.os.Bundle; import android.provider.Settings; import android.support.v7.app.AppCompatActivity; import android.telephony.TelephonyManager; import android.util.DisplayMetrics; import android.widget.EditText; import android.widget.TextView; import java.util.Locale; public class GetPhoneInfoActivity extends AppCompatActivity { private EditText et_imei,et_imsi,et_MODEL,et_phoneNumber,et_Mac; private EditText et_width_height,et_ICCID; private String TAG="get手机信息"; private TextView tv_PhoneInfo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_get_phone_info); initView(); getInfo(); } private void initView() { et_imei= (EditText) findViewById(R.id.et_imei); et_imsi= (EditText) findViewById(R.id.et_imsi); et_MODEL = (EditText) findViewById(R.id.et_MODEL); et_phoneNumber = (EditText) findViewById(R.id.et_phoneNumber); et_Mac= (EditText) findViewById(R.id.et_Mac); et_width_height = (EditText) findViewById(R.id.et_width_height); et_ICCID = (EditText) findViewById(R.id.et_ICCID); tv_PhoneInfo = (TextView) findViewById(R.id.tv_PhoneInfo); } private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); et_imei.setText(mTm.getDeviceId()); et_imsi.setText(mTm.getSubscriberId()); et_ICCID.setText(mTm.getSimSerialNumber()); //imsi,sim串号 et_MODEL.setText(android.os.Build.MODEL); // 手机型号 et_phoneNumber.setText(mTm.getLine1Number()); // 手机号码,有的可得,有的不可得 et_Mac.setText(getMacAddress()); // 获取MAC地址有问题 et_width_height.setText(getWeithAndHeight()); tv_PhoneInfo.setText(phoneInfo()); System.out.println(phoneInfo()); } /** * 获取手机屏幕高度--像素 */ private String getWeithAndHeight(){ //这种方式在service中无法使用, DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String width_height = "宽"+dm.widthPixels+"高"+ dm.heightPixels; // //在service中也能得到高和宽 // WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); // width = mWindowManager.getDefaultDisplay().getWidth(); // height = mWindowManager.getDefaultDisplay().getHeight(); return width_height; } /** * 获取手机屏幕密度 0.75/1.0/1.5 */ private float getDensity(){ DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.density; } /** * 获取手机屏幕密度 0.75/1.0/1.5 */ private int getDensityDpi(){ DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.densityDpi; } /** * 获取手机MAC地址 * @return */ private String getMacAddress(){ //在wifi未开启状态下,仍然可以获取MAC地址,但是IP地址必须在已连接状态下否则为0 String s_macAddress = ""; WifiManager wifiMgr = (WifiManager)getSystemService(Context.WIFI_SERVICE); WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo()); if (null != info) { s_macAddress = info.getMacAddress(); } return s_macAddress; } private int getWifiState(Context context){ WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); if(wifiManager != null){ int wifiState = wifiManager.getWifiState(); return wifiState; } return wifiManager.WIFI_STATE_UNKNOWN; } /** * 察看WIFI的IP地址的方法 * @return */ private String getlocalip(){ WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); if(ipAddress==0)return null; return ((ipAddress & 0xff)+"."+(ipAddress>>8 & 0xff)+"." +(ipAddress>>16 & 0xff)+"."+(ipAddress>>24 & 0xff)); } public String phoneInfo() { final TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID); StringBuilder sb = new StringBuilder(); sb.append("========TelephonyManager类============"+"\n"); sb.append("imei== " + tm.getDeviceId() + "\n"); sb.append("手机号码= " + tm.getLine1Number() + "\n"); sb.append("网络国家iso= " + tm.getNetworkCountryIso() + "\n"); sb.append("网络运营商=" + tm.getNetworkOperator() + "\n"); sb.append("运营商名称=" + tm.getNetworkOperatorName() + "\n"); sb.append("网络类型=" + tm.getNetworkType() + "\n"); sb.append("手机类型=" + tm.getPhoneType() + "\n"); sb.append("imsi=" + tm.getSubscriberId() + "\n"); sb.append("数据状态=" + tm.getDataState() + "\n"); sb.append("sim卡国家iso=" + tm.getSimCountryIso() + "\n"); sb.append("sim卡运营商=" + tm.getSimOperator() + "\n"); sb.append("sim卡运营商名称=" + tm.getSimOperatorName() + "\n"); sb.append("sim卡状态=" + tm.getSimState() + "\n"); sb.append("ICCID sim串号=" + tm.getSimSerialNumber() + "\n"); sb.append("========Build类============"+"\n"); sb.append("Build.BOARD:处理器 " + Build.BOARD+ "\n"); sb.append("Build.MODEL:手机设备版本"+ Build.MODEL +"\n"); sb.append("Build.MANUFACTURER: " + Build.MANUFACTURER+ "\n"); sb.append("Build.PRODUCT:设备正式名称 " + Build.PRODUCT+ "\n"); sb.append("Build.USER:用户名" + Build.USER+ "\n"); sb.append("Build.ID: " + Build.ID+ "\n"); sb.append("Build.DEVICE:硬件设备 " + Build.DEVICE+ "\n"); sb.append("Build.DEVICE:手机平台版本 " + Build.DISPLAY+ "\n"); sb.append("Build.SERIAL: " + Build.SERIAL+ "\n"); sb.append("Build.BRAND:设备品牌 " + Build.BRAND+ "\n"); sb.append("cpu版本 " + Build.CPU_ABI+ "\n"); sb.append("cpu版本2 " + Build.CPU_ABI2+ "\n"); sb.append("手机android SDK版本号: " + Build.VERSION.SDK_INT + "\n"); sb.append("手机android版本号RELEASE: " + Build.VERSION.RELEASE + "\n"); sb.append("========Secure类============"+"\n"); sb.append("Secure.ANDROID_ID: " + android_id + "\n"); sb.append("========Locale类============"+"\n"); sb.append("手机语言: " + Locale.getDefault().getLanguage() + "\n"); sb.append("========自定义函数============"+"\n"); sb.append("MAC地址: " + getMacAddress() + "\n"); sb.append("wifi IP地址: " + getlocalip() + "\n"); sb.append("wifi 状态: " + getWifiState(this) + "\n"); sb.append("手机的宽高: " + getWeithAndHeight() + "\n"); sb.append("屏幕密度: " + getDensity() + "\n"); sb.append("屏幕密度Dpi: " + getDensityDpi() + "\n"); return sb.toString(); } }