2011-07-20 10 views
0

GPSでデバイスの位置を検出するアプリを作成しました。GPSステータスに問題があり、GpsStatus.Listenerを見ていますが、Android搭載の初心者ですから複雑です。GPSの状態をテストするには?

ここに私はGPSの状態と私は右のトラックに私はしようとしていますか?

final Listener onGpsStatusChange = new GpsStatus.Listener() { 

     @Override 
     public void onGpsStatusChanged(int event) { 
      // TODO Auto-generated method stub 
      switch(event){ 
      case GpsStatus.GPS_EVENT_STARTED: 
      // Started... 
      break ; 
      case GpsStatus.GPS_EVENT_FIRST_FIX: 
      // First Fix... 
      break ; 
      case GpsStatus.GPS_EVENT_STOPPED: 
      // Stopped... 
      break ; 
      } 
     } 
    }; 

iは、デバイスがあるかどうかをテストしたい:

  • 変更なし
  • 新しい場所
  • START_
  • 何のGPSデータが

あなたはGPSS状況を説明することはできません例??とありがとう。

EDIT: みんな、それは非常に参考に、これまでに、今私は、変更なしの場所で立ち往生:ユーザーがまだ同じ場所に滞在するときonLocationChange方法は解雇ではないだろう、私は間違っていますか?だから私はそれをサーバに送るためにテストすることができますか? :)

答えて

2

LocationManagerを参照してください。GPSステータスはGPSエンジン自体についてのものではなく、すべてのプラットフォームやデバイスで信頼できるものではありません。

または代わりに古いが、まだ関連tutorial

+0

これは非常に役に立ちます、Thx – sayvortana

1

onGpsStatusChanged()は、それが有効なGPSのステータス更新があることを意味するフレームワークから呼び出された場合。 getGpsStatus()を使用して、最新のGPSステータス更新を取得します。

public void onGpsStatusChanged(int event) { 
     if (event == GpsStatus.GPS_EVENT_STARTED) { 
      Log.d(TAG , "GPS event started "); 

     } else if (event == GpsStatus.GPS_EVENT_STOPPED) { 
      Log.d(TAG , "GPS event stopped "); 

     } else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) { 

      GpsStatus gs = locationManager.getGpsStatus(null); 

上記のスニペットを使用できます。必要なデータの一部はGpsStatus構造にあることに注意してください。

新しい場所のように必要な残りの情報は、onLocationChanged()コールバックから取得できます。

+0

有効なgpsステータス、つまりgpsを利用できますか? 有効でない場合は、GPSがありません。 gpsの変更はどうですか?どのようにそれをテストする? thx – sayvortana

+0

いいえ、私は新しいGPSステータスが利用可能であることを意味しません。 *あなたの "変更なし"の定義は何ですか? :場所の変更はありませんか?ステータス変更はありませんか? – Reno

+0

リノ:gpsがまだ変更されていないということは、変更がないということは、その場合はonLocationChangeメソッドが正しく起動しないことを意味しますか?だから私はそれをテストする必要があります私の現在のサーバーに再送したいですか? – sayvortana

関連する問題