私が作成した既存の Blackberry アプリケーションに GPS 機能を追加する必要があります。CurrentLocation というスタンドアロン クラスを作成し、Blackberry GPS を Google のリバース ジオコーディング Web サービスと組み合わせて使用することで、関心のあるさまざまな位置変数を設定するメソッドを含めます。つまり、メイン アプリケーションで新しいクラスをインスタンス化しようとするまでは、すべてがうまく機能しています。
何をしても LocationException が発生します。.getLocation() は機能しません!
テスト用の Hello World アプリでクラスをインスタンス化すると、問題なく動作するため、本当に混乱します。
クラスをインスタンス化できる場所に制限はありますか? 私が書いた以前のクラスで遭遇したことはありません。この場合、リスナーで CurrentLocation クラスをインスタンス化しています (そのため、ユーザーは必要なときに長い gps と Web 呼び出しのみを行います)。画面でもインスタンス化してみました。クラスを破壊してメソッド呼び出しを使用しようとしましたが、それも機能しません。
ここで完全に欠けているものはありますか?
私が作っているクラスへのリンクがあります。
そして、これが私がインスタンス化しようとしているリスナーです。私はイベントスレッドにいます。
FieldChangeListener listenerGPS = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
CurrentLocation loc = new CurrentLocation();
if (loc != null){
country = loc.getCountry();
city = loc.getCity();
state = loc.getState();
road = loc.getRoad();
zip = loc.getZip();
}
}
});
}
};
ここで何が欠けていますか?