2

私が追加しました:

implements GoogleApiClient.ConnectionCallbacks, LocationListener, GpsStatus.Listener

と:

        mGoogleApiClient = new GoogleApiClient.Builder(context)
            .addApi(LocationServices.API)
            .addApi(Wearable.API)
            .addConnectionCallbacks(this)
            .build();
    mGoogleApiClient.connect();

    locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    locationManager.addGpsStatusListener(this);

と:

@Override
public void onGpsStatusChanged(int event) {
    Log.d(TAG, "GPS status change: " + event);

    switch(event) {
        case GpsStatus.GPS_EVENT_FIRST_FIX:                        
            break;                                          
        case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
            break;
    }
}

ただし、Fused Location API では onGpsStatusChanged は呼び出されません。これは可能ですか?

4

1 に答える 1

0

それは私にとってはうまくいっています。onGpsStatusChanged() メソッドでイベントを受け取ることができます。私のコードを見たい場合に備えて。

バージョン以下のプレイサービスのgradle依存関係を使用しています

compile 'com.google.android.gms:play-services-location:8.4.0'

道具

class FusedLocationProviderService extends Service implements 
        GpsStatus.Listener, 
        LocationListener,
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener,
        ResultCallback<LocationSettingsResult> {

    public void initialize() {
         googleApiClient = new GoogleApiClient.Builder(context)
                            .addConnectionCallbacks(this)
                            .addOnConnectionFailedListener(this)
                            .addApi(LocationServices.API).build();

         locationManager = (LocationManager) context
                        .getSystemService(LOCATION_SERVICE);

         locationManager.addGpsStatusListener(this);
    }
}
于 2016-02-29T22:18:34.320 に答える