获取IMEI号:
/**
* 获取IMEI号
*
* @Description:
* @param @param activity
* @param @return
* @return String
*/
public static String getIMEI(Activity activity) {
TelephonyManager manager = (TelephonyManager) activity
.getSystemService(Context.TELEPHONY_SERVICE);
return manager.getDeviceId();
}
/**
* 获取IMSI
*
* @Description:
* @param @param activity
* @param @return
* @return String
*/
public static String getIMSI(Activity activity) {
TelephonyManager manager = (TelephonyManager) activity
.getSystemService(Context.TELEPHONY_SERVICE);
return manager.getSubscriberId();
}
/**
* 手机型号
*
* @Description:
* @param @return
* @return String
*/
public static String getPhoneModel() {
return android.os.Build.MODEL;
}
/**
* 系统版本号(数值)
*
* @Description:
* @param @return
* @return int
*/
public static int getPhoneSdkVersionInt() {
return Build.VERSION.SDK_INT;
}
/**
* 系统版本号(字符串)
*
* @Description:
* @param @return
* @return String
*/
public static String getPhoneSDKVersionChar() {
return Build.VERSION.RELEASE;
}
/**
* @Description:APP版本号(字符串)
* @param @param activity
* @param @return
* @return String
*/
public static String getAppVersionChars(Activity activity) {
PackageManager packageManager = activity.getPackageManager();
PackageInfo packageInfo = null;
try {
packageInfo = packageManager.getPackageInfo(
activity.getPackageName(), 0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return packageInfo.versionName;
}
/**
* APP版本号(整型)
*
* @Description:
* @param @param activity
* @param @return
* @return int
*/
public static int getAppVersionInt(Activity activity) {
PackageManager packageManager = activity.getPackageManager();
PackageInfo packageInfo = null;
try {
packageInfo = packageManager.getPackageInfo(
activity.getPackageName(), 0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return packageInfo.versionCode;
}
获取外网IP(ip168不稳定,也可以用其它能正常获取到IP的url,原理差不多):
/**
* 获取外网IP
*
* @Description:
* @param @return
* @return String
*/
public static String GetNetIp() {
URL infoUrl = null;
InputStream inStream = null;
String ipLine = "";
HttpURLConnection httpConnection = null;
try {
infoUrl = new URL("http://ip168.com/");
URLConnection connection = infoUrl.openConnection();
httpConnection = (HttpURLConnection) connection;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
inStream = httpConnection.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(inStream, "utf-8"));
StringBuilder strber = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
strber.append(line + "\n");
Pattern pattern = Pattern
.compile("((?:(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))");
Matcher matcher = pattern.matcher(strber.toString());
if (matcher.find()) {
ipLine = matcher.group();
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inStream != null) {
inStream.close();
}
if (httpConnection != null) {
httpConnection.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return ipLine;
}
/**
* 获取局网IP
*
* @Description:
* @param @return
* @return String
*/
public static String getLocalIpAddress() {
try {
Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces();
while (en.hasMoreElements()) {
NetworkInterface ni = en.nextElement();
Enumeration<InetAddress> enIp = ni.getInetAddresses();
while (enIp.hasMoreElements()) {
InetAddress inet = enIp.nextElement();
if (!inet.isLoopbackAddress()
&& (inet instanceof Inet4Address)) {
return inet.getHostAddress().toString();
}
}
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "0";
}
Demo下载:https://github.com/xie2000/SystemInfoDemo