我有以下代碼正在按預期方式工作,但當我請求使用下面顯示的stopLocationUpdates
方法刪除位置更新時,我的onCompleteListener
附件到removeLocationUpdates
不會觸發第一個請求,儘管位置更新根據需要停止。但是,在下一次請求時,會觸發onCompleteListener
回調。完成FusedLocationClientProvider的removeLocationUpdates時收到回調的最佳方式
/**
* Provides access to the fused location provider API
*/
private FusedLocationProviderClient mFusedLocationClient;
/**
* Removes location updates from the FusedLocationApi
*/
private void stopLocationUpdates() {
if (!mRequestingLocationUpdates) {
// Updates were never requested.
return;
}
// Remove location request when activity is in a paused or stopped state.
mFusedLocationClient.removeLocationUpdates(mLocationCallback)
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
mRequestingLocationUpdates = false;
}
});
}
只是用 「LocationUpdates」 實施例中測試的: 設備上測試的兩種(機器人5.0)和仿真器(Android 7.0),同樣的錯誤。監聽器不會被請求調用,但是2.請求調用onComplete和onFailure(報告已經註冊的監聽器)。 鏈接到錯誤報告: 我希望他們看到它... –