The base activity for the IVI system. Hooks up the activity-related interaction to the rest of the system, which is necessary for the system UI. Should be extended by the product to configure it, based on customer needs.
A vehicle may have multiple infotainment screens, each of which is backed by an IVI instance. Each IviActivity instance is bound to an IVI instance. This IVI instance is obtained from the Android manifest's
<activity> element for the activity. The IVI instance ID is obtained from the
com.tomtom.ivi.platform.framework.api.product.activity.IVI_INSTANCE meta-data entry value. The same applies for
Note: An IVI application must tag all its activities to be Distraction Optimized; see more about driver distraction guidelines. To do this, add the
distractionOptimized meta-data attribute in the AndroidManifest.xml for all activities.
This example defines an
ExampleActivity activity that is bound to the
Passenger IVI instance ID.
android:exported should, by default, be set to false in order to avoid build warnings and to reduce attack surface. This should be changed to
true in the case that you wish an activity from another application to be able to launch the
IviActivity with an intent. In this case it is important to add the appropriate intent-filters and permissions in order to limit the activity's exposure to other applications. See
android:exported in Android documentation