2

このスレッドで、MSohm は「GPS サービス オプションは GPS のオンとオフを切り替えません」と述べています。これは、デバイスに GPS 受信機が組み込まれている場合、次のようなコードを意味します。

LocationProvider provider = LocationProvider.getInstance(null);

GPS サービス オプションに関係なく、決してnullを返すべきではありません。

しかし、Curve 8310 (4.5.0) と Storm 9530 (4.7.0) の両方のシミュレーター (両方とも GPS 受信機が組み込まれています) で上記のコードを試すと、GPS Services オプションが Location OFFに設定されている場合はnullになります。GPS Services オプションを Location ONに変更すると、null 以外の LocationProvider が取得され、locatoin などを取得できるようになります。

これはシミュレーターのバグですか?これが実際のデバイスでどのように機能するかを誰かが言うことができますか?

アップデート:

実機 (Storm) でのテスト結果を取得しました。驚いたことに、実際のデバイスの動作は、シミュレーターで得たものと同じです。私は混乱しています。MSohm は、「GPS サービス オプションは GPS のオンとオフを切り替えません」と述べましたが、GPS のオンとオフを切り替えているようです。誰でもコメントをいただけますか?

4

1 に答える 1

1

私の経験によると、これはバグではありません

GPSオプションの下のBlackberryオプションで、実際に場所のオンとオフを切り替えることができます.

私がお勧めするのは、それがnullかどうかをチェックするLocationProviderを宣言した後です。null の場合、ユーザーにメッセージを送信して、GPS 位置情報がオフになっていること、および GPS を使用するには最初にオンにする必要があることを伝えます。

この設定を変更する場所を彼に伝えることもできます。

実際のデバイスでも同じ動作が得られるため、これが最善のアプローチだと思います。

これを Curve 8530 でテストしました。

シミュレーターを実行するときは、シミュレーターのウィンドウ メニューで GPS を有効にする必要があることに注意してください。これが、シミュレーターで null LocationProvier を取得する理由である可能性があります。

于 2010-08-17T18:14:44.613 に答える