본문으로 건너뛰기

내비게이션 탑재 여부 확인

ro.product.hmg.eol.navi 조회

현재 단말에 내비게이션(navi) 앱이 탑재된 EOL 구성인지 확인하려면 시스템 프로퍼티 ro.product.hmg.eol.navi를 조회합니다. 조회에는 android.os.SystemProperties를 쓰지만, 이 API는 공개 SDK에 없으므로 reflection으로 get을 호출합니다.

ro.product.hmg.eol.navi 조회 코드
fun getSystemProperties(propertyName: String): String? {
return try {
val systemPropertiesClazz = Class.forName("android.os.SystemProperties")
val method = systemPropertiesClazz.getMethod("get", String::class.java)
method.invoke(null, propertyName) as? String
} catch (e: Exception) {
android.util.Log.e("EXTENSION_", "getSystemProperties=$propertyName", e)
""
}
}

val naviOnOff = getSystemProperties("ro.product.hmg.eol.navi")
val isNaviInstalled = naviOnOff.equals("ON", ignoreCase = true)

프로퍼티 ro.product.hmg.eol.navi의 값은 ON 또는 OFF입니다.

  • navi 미설치: OFF
  • navi 설치: ON

플랫폼 테스트 로그에는 navi properties=ON / navi properties=OFF 형태로 출력되기도 합니다. 앱에서는 ON/OFF만 비교합니다.

개발·검증 (adb)

Pleos Connect 데브박스/시료에 USB 디버깅으로 연결한 뒤 확인 가능합니다.

adb shell getprop ro.product.hmg.eol.navi

navi 탑재 시료의 경우 ON을 반환하고, navi 미탑재 시료의 경우 OFF를 반환합니다.

노트
  • Pleos Connect 에뮬레이터(crp_avd_x86_64 등)나 InfoLINK(pbvivi)에서는 프로퍼티가 없어 빈 줄이 나올 수 있습니다. ON/OFF 확인은 Pleos Connect 데브박스/시료에서 진행하시기 바랍니다.
  • Maps/Navigation 앱 개발에 관한 상세한 내용은 Maps/Navigation 앱 개발 가이드를 참고 바랍니다.