I don't like the question proposed to the user to choose which home to set as default.
You have not the choice. This dialog is mandatory (at least the first time when you want to register your app as a home screen).
And as I mentioned, replacing Home by your own program is very risky. I bricked two times my tablet while doing so. If the program crashes or is stuck and you turn off the device, then your device will display the nice Android logo at reboot and that's all (on the other hand, you will learn how to reinstall an Android system on a device

). So you have to add additional code (and not the easy kind) to circumvent all possible problems. I won't explain that because it's in Java and I don't want to take any responsability in that matter. I just wanted to say that's possible to redirect the Home button while the app is running and restore the original Home screen when you leave the app.