setCurrent
あなたの質問から、何らかの形でデバイスに画面をすぐに「強制」するか、画面が表示された後にのみ戻ることを期待しているように聞こえます。
Display.setCurrentの API ドキュメントで明確に説明されているように、これはそうではありません。
Displayable
別のオブジェクトをディスプレイに表示するように要求します。通常、変更はすぐには反映されません。次のイベント配信メソッドが呼び出される前に発生することは保証されていませんが、イベント配信メソッドの呼び出しの間に発生するように遅延する可能性があります。setCurrent
メソッドは、変更が行われるのを待たずにすぐに戻ります...
...アプリケーションがバックグラウンドにある場合、null 以外の参照を に渡すとsetCurrent
、アプリケーション管理ソフトウェアによって、アプリケーションがフォアグラウンドに移動することを要求している要求として解釈される可能性があります...これらは要求のみであり、アプリケーション管理ソフトウェアがこれらの要求にタイムリーに準拠する必要はありません...
指定された動作に合わせて MIDlet を再設計することを検討してください。
myCanvas
Canvas のインスタンスである場合、showNotify() イベントを使用できます。
一般的なDisplayable
画面の場合、 isShown()メソッドは、画面に実際に表示されているかどうかを確認します。
場合によっては、ユーザーがバックグラウンドからの復帰を明示的に確認できるようにすることも理にかなっています。
display.setCurrent(new Alert("back to foreground", "dismiss to continue...",
null, AlertType.INFO), myCanvas);