2

Android ネットワーク ロケーション プロバイダーは、インターネットや Wi-Fi がなくても機能しますか? インターネット/wifiがない場合でも onlocationchanged() メソッドが呼び出されることがあるため、この動作の矛盾に直面しています。

wifilocator および celllocator-Primary cell miss in cache の場合、「Too many no location ap-s.Not compute a location」というメッセージが表示されてインターネット/wifi がオフになっていると、位置情報の修正が得られないことがあります。

これを修正する方法を教えてください。

API 7 を使用しています。Android 2.3.6 Samsung Galaxy Y でこのアプリをテストしています。

4

1 に答える 1

1

この中に onLocationChanged() メソッドを配置します。

    public boolean haveNetworkConnection()
     {
       ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
       NetworkInfo netInfo = cm.getActiveNetworkInfo();
       if (netInfo == null)
          return false;
      else
          {
          if(netInfo.isConnected())
              return true;
          else
              return false;
          }
    }

望み !これは役に立ちます。これを試して。

あなたの質問をもう一度見直したとき。私はこれを見つけました :

はい、正しいネットワーク ロケーション フィックスを取得するには、インターネットに接続する必要があります。少なくともほとんどの場合。電話機は次のデータを収集します (これを行うためにインターネットに接続する必要はありません)。

  • Wi-Fi アクセス ポイントをスキャンして、近くの Wi-Fi 情報を取得します。

  • 近くのモバイル セル情報は、電話機のセルラー ラジオから入手できます。

次に、電話はこのデータをサーバーに送信します。サーバーはこのデータを使用してデータベースを調べ、電話の最も可能性の高い位置を判断します。サーバーは位置情報を電話に送り返します。これはすべて、インターネット (モバイル インターネットまたは Wi-Fi) 経由のデータ接続を使用して行われます。一部の実装では、電話が常にインターネットに問い合わせる必要がないように、少量のサーバーのデータベースを電話にダウンロードします (電話の現在位置周辺の小さな領域を記述します)。ただし、電話がこの小さな領域の外に移動すると、インターネットにアクセスして正しい場所を取得する必要があります。

したがって、基本的に、インターネット接続がなければ、ネットワークの場所を (確実に) 使用できません。

于 2012-09-24T12:25:05.733 に答える