Android Overriding home key
Solution 1:
I agree with @Romain Guy
You can't override the behaviour of home button.
What the Car Home
app does: it has defined itself as a launcher. You can also define yours as a launcher, and it will be notified when the home screen is about to be launched.
Check this out : Intent.html#CATEGORY_LAUNCHER
Please note that this doesn't mean that your app/activity is notified when the home button is pressed so that it can override the behaviour of it, but is notified when the system is about to launch the Home Screen. Both are different things. in this type of notification, Android already has sent the app (Which is currently executing) to the frozen state, and it won't have any control over what's happening.
This is as far as I know. I guess @Romain Guy
may correct me if I am wrong at any place.
Solution 2:
It does not override the Home key, the Car Home application just behaves as a launcher, which any application can do. This behavior gets declared in the manifest file.
Solution 3:
Looks like the following does it on 4.0:
In AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>