1. 程式人生 > >Android 獲取手機的IMEI等裝置資訊

Android 獲取手機的IMEI等裝置資訊

獲取IMEI等

 public String getPhoneInfo(Context context) {
        TelephonyManager tm = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        StringBuilder sb = new StringBuilder();

        sb.append("\nDeviceId(IMEI) = " + tm.getDeviceId());//獲取裝置IMEI資訊
        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();
    }

獲取螢幕的相關資訊
 private int screenWidth;
    private int screenHeigth;
    private float screenDensity;
    private int screenDpi;
    private float screenScaledDensity;
    
    public void getScreenInfo(Activity activity) {
        DisplayMetrics metric = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(metric);
        screenWidth = metric.widthPixels;
        screenHeigth = metric.heightPixels;
        screenDensity = metric.density;
        screenDpi = metric.densityDpi;
        screenScaledDensity = metric.scaledDensity;
    }

獲得螢幕的寬度

/**
	 * Get the screen width.
	 * 
	 * @param context
	 * @return the screen width
	 */
	@SuppressWarnings("deprecation")
	@SuppressLint("NewApi")
	public static int getScreenWidth(Activity context) {

		Display display = context.getWindowManager().getDefaultDisplay();
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
			Point size = new Point();
			display.getSize(size);
			return size.x;
		}
		return display.getWidth();
	}

獲取螢幕的高度

/**
	 * Get the screen height.
	 * 
	 * @param context
	 * @return the screen height
	 */
	@SuppressWarnings("deprecation")
	@SuppressLint("NewApi")
	public static int getScreenHeight(Activity context) {

		Display display = context.getWindowManager().getDefaultDisplay();
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
			Point size = new Point();
			display.getSize(size);
			return size.y;
		}
		return display.getHeight();
	}



獲取網路連線狀態
public boolean isConnect(Context context) {
        try {
            ConnectivityManager conMan = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            if (null != conMan) {
                NetworkInfo mobileNetWorkInfo = conMan
                        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
                if (mobileNetWorkInfo != null) {
                    State mobile = mobileNetWorkInfo.getState();
                    if (mobile != null && mobile.equals(State.CONNECTED)) {
                        return true;
                    }
                }

                NetworkInfo wifiNetworkInfo = conMan
                        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
                if (wifiNetworkInfo != null) {
                    State wifi = wifiNetworkInfo.getState();
                    if (wifi != null && wifi.equals(State.CONNECTED)) {
                        return true;
                    }
                }
            }
        } catch (Exception e) {
            e.getStackTrace();
        }
        return false;
    }