Respuesta corta: no lo hagas.
Rediseñe su aplicación para que pueda ejecutarse tanto en modo vertical como horizontal. No existe una interfaz de usuario que no pueda diseñarse para funcionar tanto en vertical como en horizontal; solo desarrolladores flojos o poco imaginativos.
La razón por la cual es bastante simple. Desea que su aplicación sea utilizable por el mayor público posible en tantos dispositivos diferentes como sea posible. Al forzar una orientación de pantalla en particular, evita que su aplicación se ejecute (usablemente) en dispositivos que no admiten esa orientación y frustra y enajena a los clientes potenciales que prefieren una orientación diferente.
Ejemplo: diseña tu aplicación para forzar el modo vertical. Un cliente descarga la aplicación en un dispositivo 2 en 1 que utiliza principalmente en modo horizontal.
Consecuencia 1: su aplicación no se puede usar, o su cliente se ve obligado a desacoplar su dispositivo, rotarlo y usarlo en una orientación que no les resulta familiar o cómoda.
Consecuencia 2: el cliente se frustra por el diseño no intuitivo de su aplicación y encuentra una alternativa o abandona la aplicación por completo.
Estoy luchando con esto con una aplicación en este momento y como consumidor y desarrollador, lo odio. Tan útil como es la aplicación, tan fantásticas como son las características que ofrece, odio absolutamente la aplicación porque me obliga a usar una orientación que es contraria a cualquier otra forma en que uso mi dispositivo.
No quiere que sus clientes odien su aplicación.
Sé que esto no responde directamente a la pregunta, así que quiero explicarlo con un poco más de detalle para aquellos que tienen curiosidad.
Hay una tendencia para que los desarrolladores sean realmente buenos escribiendo código y realmente terribles en el diseño. Esta pregunta, aunque suena como una pregunta de código y el autor de la pregunta ciertamente siente que es una pregunta de código, es realmente una pregunta de diseño.
La pregunta realmente es "¿Debo bloquear la orientación de la pantalla en mi aplicación?" El autor de la pregunta eligió diseñar la interfaz de usuario para que funcione y se vea bien solo en modo vertical. Sospecho que fue para ahorrar tiempo de desarrollo o porque el flujo de trabajo de la aplicación es particularmente propicio para un diseño vertical (común para los juegos móviles). Pero esas razones descuidan todos los factores importantes reales que motivan el diseño adecuado.
Compromiso con el cliente: desea que sus clientes se sientan atraídos por su aplicación, no expulsados de ella. La aplicación debe pasar sin problemas de lo que sea que esté haciendo su cliente antes de abrir su aplicación. (Esta es la razón por la cual la mayoría de las plataformas tienen principios de diseño consistentes, por lo que la mayoría de las aplicaciones se parecen más o menos aunque no es necesario).
Respuesta del cliente: desea que sus clientes reaccionen positivamente a su aplicación. Deberían disfrutar de usarlo. Incluso si se trata de una aplicación de nómina para el trabajo, debería ser un placer para ellos abrirla y registrarla. La aplicación debería ahorrarle tiempo a sus clientes y reducir la frustración por las alternativas. (Las aplicaciones que molestan a los usuarios generan resentimiento contra su aplicación, lo que se convierte en resentimiento contra su marca).
Conversión de clientes: desea que sus clientes puedan pasar rápida y fácilmente de la navegación a la interacción. Este es el objetivo final de cualquier aplicación, convertir las impresiones en ingresos. (Las aplicaciones que no generan ingresos son una pérdida de tiempo para crear, desde una perspectiva comercial).
Una interfaz de usuario mal diseñada reduce el compromiso y la respuesta del cliente, lo que finalmente resulta en menores ingresos. En un mundo centrado en los dispositivos móviles (y particularmente en el tema de los modos de visualización vertical / horizontal), esto explica por qué el diseño web receptivo es tan importante. Walmart Canadá introdujo un diseño receptivo en su sitio web en noviembre de 2013 y experimentó un aumento del 20% en la conversión de clientes. O'Neill Clothing implementó un diseño web receptivo y los ingresos de los clientes que usan dispositivos iOS aumentaron 101.25% , y 591.42% de los clientes que usan dispositivos Android .
También existe una tendencia a que los desarrolladores se concentren intensamente en implementar una solución particular (como bloquear la orientación de la pantalla), y la mayoría de los desarrolladores en este sitio estarán muy contentos de ayudar a implementar esa solución, sin cuestionar si eso es lo mejor solución al problema.
Bloquear la orientación de la pantalla es el equivalente de diseño de la interfaz de usuario de implementar un bucle do-while. Eres realmente seguro de que quieres hacerlo de esa manera, o hay una alternativa mejor?
No fuerce su aplicación a un solo modo de visualización. Invierta el tiempo extra y el esfuerzo para que responda.