1. 程式人生 > >安卓開發工具類---獲取手機IMSI,IMEI,IP地址

安卓開發工具類---獲取手機IMSI,IMEI,IP地址

/**
 * 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"/>