¿Cómo deshabilitar el teclado suave de Android para una actividad en particular?

Tengo una actividad con un EditText donde solo necesito ingresar números.

Ahora, he definido el Tipo de entrada para mi EditText para que sea solo un número y he elaborado un bonito teclado para que lo use mi usuario, sin embargo, también necesito asegurarme de que el teclado virtual no aparezca para mi usuario cuando haga clic en el EditText.

He intentado ocultar el teclado a través del manifiesto agregando

android:windowSoftInputMode="stateAlwaysHidden"

en mi Manifiesto para la actividad en particular, pero esto no funciona para mí porque tan pronto como el usuario hace clic en EditText, el teclado aparece nuevamente.

He intentado hacer lo mismo programáticamente así que

activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

pero eso tampoco funciona. El teclado aparece cuando el usuario hace clic en EditText.

Lo único que funcionó fue configurar InputType en nulo para EditText de esta manera:

EditText.setInputType(InputType.TYPE_NULL);

pero no puedo usar esto porque permitirá a los usuarios que tienen un teclado conectado a su dispositivo ingresar letras y otros símbolos en el campo Editar Texto, mientras que quiero que todos usen específicamente solo el teclado para ingresar datos en el campo.

También debo mencionar que actualmente estoy probando mi aplicación con Android 2.1, pero me gustaría que mi solución funcione en todas las versiones. Cualquier ayuda sería apreciada. Gracias por adelantado

Respuestas a la pregunta(6)

Su respuesta a la pregunta