Notice
Recent Posts
Recent Comments
Link
투케이2K
783. (Android/Java) [유틸 파일] isSimulatorRunning : 앱 시뮬레이터 동작 상태 체크 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [isSimulatorRunning] : 앱 시뮬레이터 동작 상태 체크
// -----------------------------------------------------------------------------------------
public static Boolean isSimulatorRunning(Context mContext){
/**
* // -----------------------------------------
* [isSimulatorRunning 메소드 설명]
* // -----------------------------------------
* 1. 앱 시뮬레이터 동작 상태 체크
* // -----------------------------------------
* 2. 호출 방법 :
*
* C_StateCheck.isSimulatorRunning(A_Intro.this);
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* 에뮬레이터에서 동작 중인 경우 true, 실제 기기 인 경우 false
* // -----------------------------------------
* */
// [리턴 변수 선언 실시]
boolean returnData = false;
String deviceInfo = "";
// [로직 처리 실시]
try {
// [디바이스 정보 삽입 : 로그 출력]
deviceInfo += "\n\n";
deviceInfo += "Build.MANUFACTURER :: " + String.valueOf(Build.MANUFACTURER.toLowerCase()) + "\n";
deviceInfo += "Build.MODEL :: " + String.valueOf(Build.MODEL.toLowerCase()) + "\n";
deviceInfo += "Build.HARDWARE :: " + String.valueOf(Build.HARDWARE.toLowerCase()) + "\n";
deviceInfo += "Build.FINGERPRINT :: " + String.valueOf(Build.FINGERPRINT.toLowerCase()) + "\n";
deviceInfo += "Build.PRODUCT :: " + String.valueOf(Build.PRODUCT.toLowerCase()) + "\n";
deviceInfo += "Build.BOARD :: " + String.valueOf(Build.BOARD.toLowerCase()) + "\n";
deviceInfo += "Build.DEVICE :: " + String.valueOf(Build.DEVICE.toLowerCase());
deviceInfo += "\n\n";
// [에뮬레이터 동작 확인]
if (Build.MANUFACTURER.toLowerCase().trim().contains("genymotion")
|| Build.MODEL.toLowerCase().trim().contains("sdk_gphone")
|| Build.MODEL.toLowerCase().trim().contains("google_sdk")
|| Build.MODEL.toLowerCase().trim().toLowerCase().contains("droid4x")
|| Build.MODEL.toLowerCase().trim().contains("emulator")
|| Build.MODEL.toLowerCase().trim().contains("android sdk built for x86")
|| Build.HARDWARE.toLowerCase().trim() == "goldfish"
|| Build.HARDWARE.toLowerCase().trim() == "vbox86"
|| Build.HARDWARE.toLowerCase().trim().contains("nox")
|| Build.FINGERPRINT.toLowerCase().trim().startsWith("generic")
|| Build.PRODUCT.toLowerCase().trim() == "sdk"
|| Build.PRODUCT.toLowerCase().trim() == "google_sdk"
|| Build.PRODUCT.toLowerCase().trim() == "sdk_x86"
|| Build.PRODUCT.toLowerCase().trim() == "vbox86p"
|| Build.PRODUCT.toLowerCase().trim().contains("nox")
|| Build.BOARD.toLowerCase().trim().contains("nox")
|| Build.BOARD.toLowerCase().trim().startsWith("goldfish_")
|| Build.DEVICE.toLowerCase().trim().startsWith("emu")
|| (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))) {
// [리턴 변수 삽입]
returnData = true;
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._F_(mContext, "앱 시뮬레이터 동작 상태 체크", new String[]{
"DEVICE_INFO :: " + String.valueOf(deviceInfo),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
E///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_StateCheck.isSimulatorRunning(C_StateCheck.java:1875)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-25 07:51:06 목요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 앱 시뮬레이터 동작 상태 체크]
I/: ----------------------------------------------------
I/: [LOG :: DEVICE_INFO ::
Build.MANUFACTURER :: google
Build.MODEL :: sdk_gphone64_x86_64
Build.HARDWARE :: ranchu
Build.FINGERPRINT :: google/sdk_gphone64_x86_64/emu64x:13/te1a.220922.012/9302419:userdebug/dev-keys
Build.PRODUCT :: sdk_gphone64_x86_64
Build.BOARD :: goldfish_x86_64
Build.DEVICE :: emu64x
]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: true]
E///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments