创建Android项目,写好布局文件,
在Manifest.xml中获取权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="adnroid.permission.CHANGE_WIFI_STATE"/>
获取手机型号,系统版本号,手机号码,屏幕分辨率,imei,imsi,是否root,ip地址等等
Activity中:
package com.example.phone_info;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.Enumeration;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.TextView;
public class MainActivity extends Activity {
public TextView text_imei;
public TextView text_imsi;
public TextView text_phoneNum;
public TextView text_iccid;
public TextView text_phoneModel;//手机型号
public TextView text_systemVersion;//系统版本
public TextView text_cpu;
public TextView text_isNotRoot;
public TextView text_screenResolution;//屏幕分辨率
public TextView text_sequenceNum;//序列号
public TextView text_ip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context=getApplicationContext();
text_imei=(TextView)findViewById(R.id.imei);
text_imsi=(TextView)findViewById(R.id.imsi);
text_phoneNum =(TextView)findViewById(R.id.phoneNum);
text_iccid = (TextView)findViewById(R.id.iccid);
text_phoneModel = (TextView)findViewById(R.id.phoneModel);
text_systemVersion = (TextView)findViewById(R.id.systemVersion);
text_cpu = (TextView)findViewById(R.id.cpu);
text_isNotRoot = (TextView)findViewById(R.id.isNotRoot);
text_screenResolution = (TextView)findViewById(R.id.screenResolution);
text_sequenceNum = (TextView)findViewById(R.id.sequenceNum);
text_ip = (TextView)findViewById(R.id.ip);
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();//获取手机imei
text_imei.setText(imei);
String imsi = telephonyManager.getSubscriberId();//获取手机imsi
text_imsi.setText(imsi);
String number = telephonyManager.getLine1Number();//获取手机号码
text_phoneNum.setText(number);//手机号码,有的可得,有的不可得
String SerialNumber=telephonyManager.getSimSerialNumber();//获取手机iccid
text_iccid.setText(SerialNumber);
String phoneModel=android.os.Build.MODEL;//获取手机型号
text_phoneModel.setText(phoneModel);
String systemVersion= android.os.Build.VERSION.RELEASE;//获取系统版本
text_systemVersion.setText(systemVersion);
//序列号
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method get = c.getMethod("get", String.class);
String xulieNum = (String) get.invoke(c, "ro.serialno");
text_sequenceNum.setText(xulieNum);
}
catch (Exception ignored) {
}
//CPU不获取
text_cpu.setText("");
//是否root
boolean root = false;
try {
if ((!new File("/system/bin/su").exists())
&& (!new File("/system/xbin/su").exists())) {
root = false;
} else {
root = true;
}
} catch (Exception e) {
}
text_isNotRoot.setText(root+"");
// // 方法1 Android获得屏幕的宽和高
// WindowManager windowManager = getWindowManager();
// Display display = windowManager.getDefaultDisplay();
// int screenWidth = screenWidth = display.getWidth();
// int screenHeight = screenHeight = display.getHeight();
/* WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int width = mWindowManager.getDefaultDisplay().getWidth();
int height = mWindowManager.getDefaultDisplay().getHeight();
text_screenResolution.setText(width+"*"+height);*/
//获取手机屏幕分辨率
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String s=dm.widthPixels+"*"+dm.heightPixels;
text_screenResolution.setText(s);//屏幕分辨率
text_ip.setText(getLocalIpAddress());//获取IP地址
}
// /**
// * 获取手机IMEI号
// */
// public static String getIMEI(Context context) {
// TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
// String imei = telephonyManager.getDeviceId();
//
// return imei;
// }
//
// /**
// * 获取手机IMSI号
// */
// public static String getIMSI(Context context){
// TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
// String imsi = mTelephonyMgr.getSubscriberId();
//
// return imsi ;
// }
/**
* 获取手机号
*/
public static String getPhoneNum(Context context){
TelephonyManager tm= (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String number = tm.getLine1Number();
return number ;
}
public String[] getCpuInfo() {
String str1 = "/proc/cpuinfo";
String str2="";
String[] cpuInfo={"",""};
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;
}
public String getLocalIpAddress() {
WifiManager wifiManager = (WifiManager) getSystemService(android.content.Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
try {
return InetAddress.getByName(String.format("%d.%d.%d.%d",
(ipAddress & 0xff), (ipAddress >> 8 & 0xff),
(ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff))).toString();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}