IMEI, IESI, mobile phone model: [java] private void getInfo () {TelephonyManager mTm = (TelephonyManager) getSystemService (TELEPHONY_SERVICE); String imei = mTm. getDeviceId (); String imsi = mTm. getSubscriberId (); String mtype = android. OS. build. MODEL; // mobile phone MODEL String numer = mTm. getLine1Number (); // mobile phone number, available, unavailable} mobile phone model Build. MODELString MODEL The end-user-visible name for the end product. sdk Build. VERSION. SD KString SDK This constant is deprecated. use SDK_INT to easily get this as an integer. and frimware version (System Version) Build. VERSION. RELEASEString RELEASE The user-visible version string. in fact, Build can provide us with a lot of information calling methods, including hardware manufacturers, hardware numbers, serial numbers, and so on. String BOARD The name of the underlying board, like "goldfish ". string BOOTLOADER The system bootloader version number. string BRAND The brand (e.g ., carrier) the software is customized for, if any. string CPU_ABI The name of the instruction set (CPU type + ABI convention) of native code. string CPU_ABI2 The name of the second instruction set (CPU type + ABI convention) of native code. string DEVICE Name of the industrial design. string display a build ID string meant for displaying to the userString fingerprint a string that uniquely identifies this build. string HARDWARE The name of the hardware (from the kernel command line or/proc ). string HOST String ID Either a changelist number, or a label like "M4-rc20 ". string MANUFACTURER The manufacturer of the product/hardware. string MODEL The end-u Ser-visible name for the end product. string PRODUCT The name of the overall product. string RADIO The radio firmware version number. string serial a hardware serial number, if available. string TAGS Comma-separated tags describing the build, like "unsigned, debug ". long TIME String TYPE The type of build, like "user" or "eng ". string UNKNOWN Value used for when a build property is unknown. string USER is clear Several Concepts: SIM card storage data can be divided into four categories: the first category is fixed storage data. This type of data is written into the SIM card center before the mobile phone is sold, including the International Mobile User Identification Number (IMSI), authentication key (KI), authentication and encryption algorithm, and so on. The second type is network-related data temporarily stored. For example, the location region identifier (LAI), the mobile user temporary identifier (TMSI), and the public telephone network code that is prohibited from access. The third type is related business code, such as the personal identification code (PIN), unlock code (PUK), and billing rate. The fourth category is the telephone number book, which is the phone number that a mobile user can enter at any time. Almost all user information is stored in SIM cards. Therefore, SIM cards are also called user information identification cards. IMSI is a unique number that identifies the only user in the GSM and UMTS networks. it is stored in the SIM card of the mobile phone and will be sent to the network through the mobile phone. the unique IMEI correspondence between IMSI and SIM is also a unique number that identifies the only mobile phone in the GSM and UMTS networks. it is usually printed under the cell phone, dial * #06 # To See It. the unique IMEI corresponds to the device. 1. IMEI does not exist in the SIM card. It is the serial number of the mobile phone. 2. The mobile phone number we usually call does not exist in the SIM card. Although there is a place in the SIM card that stores the SIM card's own number, this number is manually set and can be changed. SIM card recognition usually uses an IMSI number, which is unique for SIM cards. 3. Using functions such as SimGetRecordInfo to obtain the IMSI Number of the SIM card depends on whether the device manufacturer has implemented this function. As far as I know, it can be obtained on the DOPOD machine, but not on Lenovo's machine, but not on other machines. 4. IMEI and IMSI can be obtained through the LINE operation function in RIL or TAPI. Remember to add the permission: <uses-permission android: name = "android. permission. READ_PHONE_STATE "/> get cell phone screen height: [java] private void getWeithAndHeight () {// This method cannot be used in service, DisplayMetrics dm = new DisplayMetrics (); getWindowManager (). getdefadisplay display (). getMetrics (dm); String width = dm. widthPixels; // width String height = dm. heightPixels; // high // The high and wide WindowManager mWindowManager = (WindowManager) getSystemService (Context. WINDOW_SERVICE); width = mWindowManager. getdefadisplay display (). getWidth (); height = mWindowManager. getdefadisplay display (). getHeight () ;}get the MAC address of the mobile phone: [java] private String getMacAddress () {String result = ""; WifiManager wifiManager = (WifiManager) getSystemService (Context. WIFI_SERVICE); WifiInfo wifiInfo = wifiManager. getConnectionInfo (); result = wifiInfo. getMacAddress (); Log. I (TAG, "macAdd:" + result); return result;} mobile phone CPU information [java] private String [] getCpuInfo () {String str1 = "/proc/cpuinfo "; string str2 = ""; String [] cpuInfo = {"", ""}; // 1-cpu model // 2-cpu frequency 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) {} Log. I (TAG, "cpuinfo:" + cpuInfo [0] + "" + cpuInfo [1]); return cpuInfo;} Get the available memory and total memory of the mobile phone: [java] private String [] getTotalMemory () {String [] result = {"", ""}; // 1-total 2-avail ActivityManager. memoryInfo mi = new ActivityManager. memoryInfo (); mActivityManager. getMemoryInfo (mi); long mTotalMem = 0; long mAvailMem = mi. availMem; String str1 = "/proc/meminfo"; String str2; String [] character; try {FileReader localFileReader = new FileReader (str1); BufferedReader localBufferedReader = new BufferedReader (localFileReader, 8192); str2 = localBufferedReader. readLine (); arrayOfString = str2.split ("\ s +"); mTotalMem = Integer. valueOf (arrayOfString [1]). intValue () * 1024; localBufferedReader. close ();} catch (IOException e) {e. printStackTrace ();} result [0] = Formatter. formatFileSize (this, mTotalMem); result [1] = Formatter. formatFileSize (this, mAvailMem); Log. I (TAG, "meminfo total:" + result [0] + "used:" + result [1]); return result ;} get the app information installed on your mobile phone (excluding the app that comes with the system): [java] www.2cto. comprivate String getAllApp () {String result = ""; List <PackageInfo> packages = getPackageManager (). getInstalledPackages (0); for (PackageInfo I: packages) {if (I. applicationInfo. flags & ApplicationInfo. FLAG_SYSTEM) = 0) {result + = I. applicationInfo. loadLabel (getPackageManager ()). toString () + "," ;}} return result. substring (0, result. length ()-1 );}