システムによって「不在着信」システムダイアログがいつ表示されたかを知る必要があるバックグラウンドで実行されている BlackBerry アプリがあり、ユーザーの介入なしにプログラムで閉じる必要があります。どうやってやるの?
実際には、ダイアログがいつ表示されるかをほとんど知ることができました。つまり、少し後にプログラムで呼び出しを終了しました...しかし、どうすればダイアログへの参照を取得して閉じることができますか?
システムによって「不在着信」システムダイアログがいつ表示されたかを知る必要があるバックグラウンドで実行されている BlackBerry アプリがあり、ユーザーの介入なしにプログラムで閉じる必要があります。どうやってやるの?
実際には、ダイアログがいつ表示されるかをほとんど知ることができました。つまり、少し後にプログラムで呼び出しを終了しました...しかし、どうすればダイアログへの参照を取得して閉じることができますか?
これはうまくいくはずです:
UiApplication.getUiApplication().invokeLater(new Runnable(){
public void run(){
UiApplication.getActiveScreen().close();
}
});
ダイアログがそこにあり、それが最上位のダイアログであることがわかっている場合は、EventInjector API (net.rim.device.api.system.EventInjector) がそれを行う可能性があります。ダイアログがあることがわかったら、ESCAPE キーコードを含む KeyEvent を送信します。ただし、その API は通常、ほとんどのエンタープライズ環境でロックアウトされています...
免責事項: 私は自分で試したことはありませんが、セキュリティ ホールである [この接続を許可する] ダイアログを閉じることもできる可能性があるため、機能した場合は少し驚かれることでしょう。