Let’s say you have an app that declares itself able to handle a system intent like Phone and that the user selects it as the default app. When the market updates the app, why does it clear the defaults? Is there a way to prevent that, so if I wanted Dialer 1.0 to handle the phone button, Dialer 2.0 will still do it without me having to re-select it.
Share
The defaults map to specific implementations in the application (the name of the class implementing an activity), which can change when an application is updated. To be conservative and safe, the platform has traditionally cleared those when an application is updated because they may change and result in a reference to an activity that no longer exists. There is nothing you can do in your app to prevent this from happening.