I know this question is asked many times but I found that none of the solution is working. I tried the code given below...
protected void onPause() {
Simple answer to your question is you cannot do that.
The solution that you have mention was suggested by me about four years ago [Link].
onUserLeavesHint, onKeyDown and onKeyDispatch will never "disable" hardware keys.
If you really want to "handle" the Home button you will have to make your application as home screen. See this and this.
If you really want to disable your hardware key without making a home screen application, you should root your device and the delete the corresponding device file from the kernel module. (Try at your own risk!)