package com.popupwindow; 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.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.PopupWindow; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; public class PopupWindowDemo extends Activity { private TelephonyManager telephonyManager; private String IMSI; private Context cxt; // 屏幕的width private int mScreenWidth; // 屏幕的height private int mScreenHeight; // PopupWindow的width private int mPopupWindowWidth; // PopupWindow的height private int mPopupWindowHeight; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); Log.d("PopupWindowDemo", "手机号码" + getNativePhoneNumber()); Log.d("PopupWindowDemo","MAC地址"+getMacAddress(this)); Log.d("PopupWindowDemo","设备信息"+getPhoneInfo()); Log.d("PopupWindowDemo","WiFI的IP地址"+getIpAddress(this)); Log.d("PopupWindowDemo","移动网络的IP地址"+getPsdnIp()); } //获取设备电话号码 public String getNativePhoneNumber() { String NativePhoneNumber=null; NativePhoneNumber=telephonyManager.getLine1Number(); return NativePhoneNumber; } //获取运营商信息 public String getProvidersName() { String ProvidersName = "N/A"; try{ IMSI = telephonyManager.getSubscriberId(); // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。 System.out.println(IMSI); if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { ProvidersName = "中国移动"; } else if (IMSI.startsWith("46001")) { ProvidersName = "中国联通"; } else if (IMSI.startsWith("46003")) { ProvidersName = "中国电信"; } }catch(Exception e){ e.printStackTrace(); } return ProvidersName; } //获取设备信息 public String getPhoneInfo(){ TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); StringBuilder sb = new StringBuilder(); sb.append("\nDeviceId(IMEI) = " + tm.getDeviceId()); sb.append("\nDeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion()); sb.append("\nLine1Number = " + tm.getLine1Number()); sb.append("\nNetworkCountryIso = " + tm.getNetworkCountryIso()); sb.append("\nNetworkOperator = " + tm.getNetworkOperator()); sb.append("\nNetworkOperatorName = " + tm.getNetworkOperatorName()); sb.append("\nNetworkType = " + tm.getNetworkType()); sb.append("\nPhoneType = " + tm.getPhoneType()); sb.append("\nSimCountryIso = " + tm.getSimCountryIso()); sb.append("\nSimOperator = " + tm.getSimOperator()); sb.append("\nSimOperatorName = " + tm.getSimOperatorName()); sb.append("\nSimSerialNumber = " + tm.getSimSerialNumber()); sb.append("\nSimState = " + tm.getSimState()); sb.append("\nSubscriberId(IMSI) = " + tm.getSubscriberId()); sb.append("\nVoiceMailNumber = " + tm.getVoiceMailNumber()); return sb.toString(); } //获取设备移动网络ip地址 public String getPsdnIp() { try { for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = (NetworkInterface) en.nextElement(); for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = (InetAddress) enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { //if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) { return inetAddress.getHostAddress().toString(); } } } } catch (Exception e) { } return ""; } // 获取设备mac地址 public String getMacAddress(Context context){ String result = ""; try { WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); result = wifiInfo.getMacAddress(); return result; }catch(Exception e){} return ""; } // 获取设备WiFi ip地址 public int getIpAddress(Context context){ int result = 0; try { WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); //result = wifiInfo.getMacAddress(); result = wifiInfo.getIpAddress(); return result; }catch(Exception e){} return 0; } }
Android获取设备信息
最新推荐文章于 2023-02-22 11:05:23 发布