3

質問は簡単です。特定のプロバイダーが有効になっているときにロケーションリスナーのonProviderEnabled()メソッドが呼び出されるには、そのリスナーが同じプロバイダーからの更新を既に要求している必要がありますか?

たとえば、ネットワークプロバイダーのロケーションマネージャーにロケーション更新を登録する場合、次のようになります。

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,
                0, locationListener);

リスナーにはonProviderEnabled()メソッドがあります。

@Override
    public void onProviderEnabled(String provider) {
        Log.d(TAG, provider + " provider enabled"); }

GPSロケーションプロバイダーをオンにした場合、onProviderEnabledが呼び出されますか?

私が経験したことから、GPSプロバイダーからの更新を受信するためにロケーションリスナーも登録されていない限り、それは呼び出されません。このようになっている場合は、GPSとネットワークプロバイダーの両方に登録して、有効になったことを通知する必要があります。

まだ有効になっていないロケーションプロバイダーからの更新を登録しても大丈夫ですか?

4

1 に答える 1

4

特定のプロバイダーが有効になっているときにロケーションリスナーのonProviderEnabled()メソッドが呼び出されるには、そのリスナーが同じプロバイダーからの更新を既に要求している必要がありますか?

はい、プロバイダーからコールバックを受信できるようにするには、プロバイダーに登録する必要があります。

リスナーが存在することをそのプロバイダーに通知するのは、1つのプロバイダーに登録するアクションです。登録しない場合は、リスナーが存在することを知る方法があります。

まだ有効になっていないロケーションプロバイダーからの更新を登録しても大丈夫ですか?

はい。

于 2012-12-12T21:15:43.430 に答える