/** * Created by LZC on 2018/4/2. */ import android.content.Context; import android.provider.Settings; import android.telephony.TelephonyManager; import android.util.Log; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * 获取手机信息工具类 */ public class MobileInfoUtil { /** * 获取手机IMEI * * @param context * @return */ public static final String getIMEI(Context context) { try { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String imei; if (telephonyManager.getDeviceId() != null) { imei = telephonyManager.getDeviceId(); }else{ //适配android 7.0以上版本 imei = Settings.Secure.getString(context.getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID); } return imei; } catch (Exception e) { e.printStackTrace(); return ""; } } /** * 获取手机IMSI */ public static String getIMSI(Context context){ try { TelephonyManager telephonyManager=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); String imsi=telephonyManager.getSubscriberId(); if(null==imsi){ imsi=""; } return imsi; } catch (Exception e) { e.printStackTrace(); return ""; } } /** * 获取手机IP地址 * @return */ public static String getIpAddressString() { try { for (Enumeration<NetworkInterface> enNetI = NetworkInterface .getNetworkInterfaces(); enNetI.hasMoreElements(); ) { NetworkInterface netI = enNetI.nextElement(); for (Enumeration<InetAddress> enumIpAddr = netI .getInetAddresses(); enumIpAddr.hasMoreElements(); ) { InetAddress inetAddress = enumIpAddr.nextElement(); if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress(); } } } } catch (SocketException e) { e.printStackTrace(); } return ""; } }
所需权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.INTERNET"/>