내비게이션 탑재 여부 확인
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 앱 개발 가이드를 참고 바랍니다.