프로그래밍 정리/안드로이드

모바일정보(네트워크, 맥어드레스, 커널버전 등등.. 모바일 정보 가져오기)

주누다 2012. 6. 25. 10:50
반응형

/**

 * 모바일 정보 

 * @author etc.jhshin

 *

 */


public class MobileInfo {

public static String beforeNetworkState;

public static String afterNetworkState;

/**

* 디바이스 모델명

* @return

*/

public static String getDeviceModel(){

    return Build.MODEL;

    }

/**

* 커널 버전

* @return

*/

public static String getKernelVersion(){

String kernel_version = null;

kernel_version = System.getProperty("os.version");

return kernel_version;

}

/**

* 맥 어드레스

* @param context

* @return

*/

public static String getMacAddress(Context context){

WifiManager mng = (WifiManager)context.getSystemService(context.WIFI_SERVICE);

WifiInfo info = mng.getConnectionInfo();

return info.getMacAddress();

}

/**

* 안드로이드 OS 버전

* @return

*/

public static String getAndroidVersion(){

return Build.VERSION.RELEASE;

}

/**

* 모바일 전화번호

* @param context

* @return

*/

public static String getTelePhone(Context context){

TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

return telephony.getLine1Number();

}

/**

* 디바이스 ID

* @param context

* @return

*/

public static String getDeviceId(Context context){

TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

return telephony.getDeviceId();

}

/**

* 현재 네트워크 상태

* Mobile - 3g

* Wifi - wifi

* None - X

* @param context

* @return

*/

public static String getNetworkInfo(Context context){

        

String networkCheck = null;

ConnectivityManager manager = 

        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);


boolean isMobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();


// WIFI 를 사용하는지 확인한다.

boolean isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

 

// 3G 와 WIFI 중 어떤 네트워크를 사용하지는 화면에 보여준다.       

if(isMobile){

networkCheck = "Mobile";

}else if(isWifi){

networkCheck = "Wifi";

 

}else{

networkCheck = "None";

}

 

return networkCheck;

}

/**

* Wifi 접속시 ip정보

* @param context

* @return

*/

public static String getWifiConnectIpInfo(Context context){

WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

        WifiInfo wi = wm.getConnectionInfo();

        System.out.println(wi);

        int ip = wi.getIpAddress();

        System.out.println("ip  " + ip);

        int a = ip & 0xFF;

        int b =(ip >> 8)  & 0xFF;

        int c =(ip >> 16) & 0xFF;

        int d =(ip >> 24) & 0xFF;

        return a+"."+b+"."+c+"."+d;

}


/**

* Wifi SSID 정보

* @param context

* @return

*/

public static String getWifiInfo(Context context){

WifiManager wifimanager;

wifimanager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

WifiInfo info = wifimanager.getConnectionInfo();


String ssid = info.getSSID();

return ssid;

}

}

반응형

'프로그래밍 정리 > 안드로이드' 카테고리의 다른 글

Database 사용해 보기 1 [SQLiteOpenHelper]  (0) 2012.07.06
Database 사용해 보기 2 [SQLiteDatabase]  (0) 2012.07.06
위젯 Refresh  (0) 2012.06.25
apk 인스톨 소스  (0) 2012.06.25
Asynctask 예제  (0) 2012.06.25