Я сделал статический метод в одном из моих классов библиотеки:
public static void disableOrientationChange()
{
// force app to use only portrait mode
int directions = Display.DIRECTION_NORTH;
UiEngineInstance engineInstance = Ui.getUiEngineInstance();
if (engineInstance != null)
{
engineInstance.setAcceptableDirections(directions);
}
}
Хитрость заключается в том, что этот код работает только для экранов, созданных после его запуска. Таким образом, вы должны запустить код, прежде чем показывать свой первый экран.
Я вызываю этот метод из моего Application.main(String args)
метода, непосредственно перед вызовом enterEventDispatcher()
.
public static void main(String[] args)
{
MyApp app = new MyApp();
/*
* BlackBerry OS 5.0.0
* Disable screen orientation changes
*/
ScreenUtils.disableOrientationChange();
// enters the event processing loop thread if required
if (!app.isHandlingEvents())
{
app.enterEventDispatcher();
}
}