int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
if (sdkVersion == Build.VERSION_CODES.ECLAIR) // SDK version이 2.0 이라면...
{ 필요한 내용 }
SDK 1.6 이상의 소스만을 위한 code...
int sdkVersion = Build.VERSION_CODES.SDK);
if (sdkVersion == Build.VERSION_CODES.ECLAIR) // SDK version이 2.0 이라면...
{ 필요한 내용 }
본문은 이렇게 되어있으나
2.1에서 Build.VERSION_CODES.SDK 참조가 에러나는 관계로
첫번째 방법이 잘 됨을 확인.
출처 : http://withwani.tistory.com/135 (박투)
아래소스도 뭔가 활용이 되지 않을까 생각됨.
public int getAPIVersion() {
if (sdkVersion > 0) {
return sdkVersion;
}
String SDK_INT_FIELD = "SDK_INT";
String SDK_STRING_FIELD = "SDK";
try {
Field sdkField = android.os.Build.VERSION.class.getDeclaredField(SDK_INT_FIELD);
if (sdkField != null) {
sdkVersion = sdkField.getInt(android.os.Build.VERSION.class.newInstance());
Logger.DEBUG(TAG, "API version : " + sdkVersion);
if (sdkVersion > 0)
return sdkVersion;
}
} catch (Exception e) {
Logger.DEBUG(TAG, "Could not get SDK_INT field for sdk version !");
}
try {
Field sdkField = android.os.Build.VERSION.class.getDeclaredField(SDK_STRING_FIELD);
if (sdkField != null) {
Object temp = sdkField.get(android.os.Build.VERSION.class.newInstance());
if (temp instanceof String) {
String sdkVerString = (String) temp;
try {
sdkVersion = Integer.parseInt(sdkVerString);
Logger.DEBUG(TAG, "API version : " + sdkVersion);
if (sdkVersion > 0)
return sdkVersion;
} catch (Exception e) {
Logger.DEBUG(TAG, "Could not get API version from sdkVerString : " + sdkVerString);
}
}
}
} catch (Exception e) {
Logger.DEBUG(TAG, "Could not get SDK_INT field for sdk version !");
}
Logger.DEBUG(TAG, "Could not get API version !");
return 0;
}
'개발도구 > aOS - 안드로이드 개발' 카테고리의 다른 글
[안드로이드] Push 1 강의 - 2.1 이하 (2.2이상도 됨) (0) | 2011.09.07 |
---|---|
[안드로이드] 안드로이드 버전 (0) | 2011.08.24 |
[안드로이드] notification (0) | 2011.08.19 |
[안드로이드, 아이폰] 푸시 (1) | 2011.08.18 |
[안드로이드] javascript 처리하고 alert창이 나오도록, close 되어 있을때 finish 되도록 (0) | 2011.08.04 |