マップに基づいてアプリケーションをテストするためにモックロケーション(FusedLocationApi
を使用)を設定していますが、動作しないようです。setMockModeが機能しません - FusedLocationApi
LocationServices.FusedLocationApi.setMockMode(mGoogleApiClient, true);
Location location = new Location("fused");
// Time is needed to create a valid Location
long currentTime = System.currentTimeMillis();
long elapsedTimeNanos = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
elapsedTimeNanos = SystemClock.elapsedRealtimeNanos();
location.setElapsedRealtimeNanos(elapsedTimeNanos);
}
location.setTime(currentTime);
// new york 40.7128° N, 74.0059° W
location.setLatitude(40.7128);
location.setLongitude(74.0059);
PendingResult<Status> s = LocationServices.FusedLocationApi.setMockLocation(mGoogleApiClient, location);
s.setResultCallback(new ResolvingResultCallbacks<Status>(MainActivity.this, 100) {
@Override
public void onSuccess(@NonNull Status status) {
if(status.isSuccess()){
log("mock success");
if (mIsFromContinuousUpdates) {
startContinuousUpdates();
return;
}
getLastKnowLocation();
}
}
@Override
public void onUnresolvableFailure(@NonNull Status status) {
}
});
PendingResult
リターンの成功が、私はgetLastKnownLocation
を呼び出すとき、それは私が継続的な更新を要求するときnull
とonLocationChanged
がトリガされていませんが返されます。
ここに何か不足していますか?
任意の答えを? ..... – mallaudin