My Android phone is "cursed" by a phantom that repeatedly turns on the Car Home application as if the phone were being docked. Besides the annoyance caused by the Car Home application itself, Car Home also enables the speakerphone and never turns it back off. This application is a "big hammer" approach to the problem: there's a background process that disables dock mode and kills Car Home. There's also a hook to disable the speakerphone every time an inbound or outbound call is initiated. Below is a list of the required permissions and what they are needed for.
RECEIVE_BOOT_COMPLETED: Schedule the daily report KILL_BACKGROUND_PROCESSES: Kill the Car Home application PROCESS_OUTGOING_CALLS: Check the speakerphone state when calls start MODIFY_AUDIO_SETTINGS: Disable the speakerphone READ_PHONE_STATE: Disable the speakerphone
This is open source software. See the website for more details about how the application works.