Androidは携帯電話のIMEIなどの機器情報を取得

6722 ワード

転入先
IMEI等の取得
public String getPhoneInfo(Context context) {  
   TelephonyManager tm = (TelephonyManager) context  
           .getSystemService(Context.TELEPHONY_SERVICE);  
   StringBuilder sb = new StringBuilder();  

   sb.append("
DeviceId(IMEI) = " + tm.getDeviceId());// IMEI sb.append("
DeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion()); sb.append("
Line1Number = " + tm.getLine1Number()); sb.append("
NetworkCountryIso = " + tm.getNetworkCountryIso()); sb.append("
NetworkOperator = " + tm.getNetworkOperator()); sb.append("
NetworkOperatorName = " + tm.getNetworkOperatorName()); sb.append("
NetworkType = " + tm.getNetworkType()); sb.append("
PhoneType = " + tm.getPhoneType()); sb.append("
SimCountryIso = " + tm.getSimCountryIso()); sb.append("
SimOperator = " + tm.getSimOperator()); sb.append("
SimOperatorName = " + tm.getSimOperatorName()); sb.append("
SimSerialNumber = " + tm.getSimSerialNumber()); sb.append("
SimState = " + tm.getSimState()); sb.append("
SubscriberId(IMSI) = " + tm.getSubscriberId()); sb.append("
VoiceMailNumber = " + 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;  
    }