For No 1) you can check the keycode in activity keypress and show a messagebox to ask the user if he want to quit the app. But you can not prevent pressing the button at all.
For No 2) and 3) you can not prevent pressing the Button. This is how Android is designed.
You can use Kiosk-App. It will start your app again when pressing 2)
Hi
I had same problem when building a SOS program, some year ago. I partially solved the problem reactivating the App if some condition put it in backgroud. So home button was not working, since the active app was called in foreground again, and maybe button 3 as well...