Android获取设备信息

来源:互联网 发布:360防蹭网软件手机 编辑:程序博客网 时间:2024/06/06 20:29
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;    // PopupWindowwidth    private int mPopupWindowWidth;    // PopupWindowheight    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","WiFIIP地址"+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号前面3460是国家,紧接着后面200 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;    }}
0 0