1
Я пытаюсь сделать это с 7 дней без каких-либо результатов. Проблема в ResultCallback, для геообработки мне нужен ResultCallback, а для LocationSettings мне нужен ResultCallback, есть ли способ сделать это? я ценю некоторые советы ... Я использую последние Google Play Services 7.0 Спасибо за поддержку :)Android new LocationSettings and Geofencing
public class GeofenceIntentService
extends IntentService
implements GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
ResultCallback<Status>, ResultCallback<LocationSettingsResult> {
// onResult for geofencing
public void onResult(Status status) {
Log.i(TAG, "onResult");
if (status.isSuccess()) {
Log.i(TAG, "status.isSuccess()");
} else {
String errorMessage = GeofenceErrorMessages.getErrorString(getApplicationContext(),
status.getStatusCode());
Log.e(TAG, errorMessage);
}
}
// onResult for LocationSettings
@Override
public void onResult(LocationSettingsResult locationSettingsResult) {
final Status status = locationSettingsResult.getStatus();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
Log.i(TAG, "All location settings are satisfied.");
startLocationUpdates();
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to" +
"upgrade location settings ");
try {
// Show the dialog by calling startResolutionForResult(), and check the result
// in onActivityResult().
status.startResolutionForResult(BaseActivity.this, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException e) {
Log.i(TAG, "PendingIntent unable to execute request.");
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
Log.i(TAG, "Location settings are inadequate, and cannot be fixed here. Dialog " +
"not created.");
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
// Check for the integer request code originally supplied to startResolutionForResult().
case REQUEST_CHECK_SETTINGS:
switch (resultCode) {
case Activity.RESULT_OK:
Log.i(TAG, "User agreed to make required location settings changes.");
startLocationUpdates();
break;
case Activity.RESULT_CANCELED:
Log.i(TAG, "User chose not to make required location settings changes.");
break;
}
break;
}
}
}
Вы можете разместить код, объясните, что вы делали до сих пор, и объяснить, что не работает? –
Да, после прочтения вопроса, я не знаю, о чем вы спрашиваете ... –
@AlexBaker: днем я предоставил образец ... – geolyth