Skip to main content

Checking navigation (navi) availability

Checking ro.product.hmg.eol.navi

To check whether the current unit is an EOL configuration with navigation (navi) installed, query the system property ro.product.hmg.eol.navi. Use android.os.SystemProperties for the query; this API is not in the public SDK, so call get via reflection.

ro.product.hmg.eol.navi lookup code
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)

The property ro.product.hmg.eol.navi returns ON or OFF.

  • navi not installed: OFF
  • navi installed: ON

Platform test logs may print navi properties=ON / navi properties=OFF. In app code, compare only ON / OFF.

Development and verification (adb)

You can check this after connecting to a Pleos Connect dev box or sample unit with USB debugging enabled.

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

Units with navi installed return ON; units without navi installed return OFF.

note
  • On Pleos Connect emulators (crp_avd_x86_64, etc.) or InfoLINK (pbvivi), the property may be undefined and getprop may return a blank line. Check ON / OFF on Connect dev boxes or sample units.
  • For Maps/Navigation app development details, see the Maps/Navigation app development guide.