1

と の両方から位置情報の更新をリクエストする次のコードがNETWORK_PROVIDERありGPS_PROVIDERます。

locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
                                  mNetworkLocationListener);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                                  mGpsLocationListener);

現在、それぞれに個別のリスナーがありますが、2 つのリスナーのコードは同一であるため、それらを 1 つのリスナーに結合したいと考えていますmLocationListener。これを上記の 2 つの呼び出しの両方に渡すrequestLocationUpdatesので、引き続き両方のソースから更新を受け取ります。

後でこの共有リスナーの登録を解除します

locManager.removeUpdates(mLocationListener);

removeUpdates()状態の Javadoc

指定された LocationListener のすべての場所の更新を削除します。

この呼び出しの後、このリスナーの更新は行われなくなります。

では、同じリスナーを 2 回登録した場合、への 1 回の呼び出しで十分であると安全に想定できますかremoveUpdates()、それとも 2 回も呼び出す必要がありremoveUpdates()ますか?

4

1 に答える 1