¿Cómo puedo llamar a startIntentSenderForResult en el servicio correctamente?

Estoy trabajando en un Service que recibe una ubicación y estoy utilizando Google Play Services para ello.

De acuerdo con http://developer.android.com/reference/com/google/android/gms/common/ConnectionResult.html#hasResolution%28%29 , si hasResolution() devuelve true , llamar a startResolutionForResult puede resolver un error. Pero necesita una Activity como primer parámetro.

Por supuesto ConnectionResult devuelve un PendingIntent por getResolution() pero el Service no tiene un startIntentSenderForResult() como una Activity .
Por lo que sé, no hay manera de obtener un resultado en un Service .

¿Cómo puedo obtener un resultado en el Service ? ¿O hay otra manera apropiada?

Editar:

Google Play Service SDK proporciona GooglePlayServicesUtil.showErrorNotification para las tareas de fondo. Por supuesto, la respuesta aceptada es una buena solución.

Editar 2:

showErrorNotification es sólo para un valor isGooglePlayServicesAvailable de isGooglePlayServicesAvailable .

One Solution collect form web for “¿Cómo puedo llamar a startIntentSenderForResult en el servicio correctamente?”

Procedería de esta manera:

  1. Muestra una notificación que indica que hay un problema al realizar la tarea X (en realidad interactúa con Google Play Services, pero puedes decir algo más específico para tu aplicación).

  2. Para esta notificación, proporcione un PendingIntent que inicie su actividad. Como parte de los extras de este PendingIntent, pase el PendingIntent proporcionado por ConnectionResult.getResolution() . PendingIntents son parcelable así que esto no debe plantear un problema.

  3. En onCreate() para esta Actividad, obtenga el PendingIntent original de los extras, luego llame a startIntentSenderForResult() con él. Esto automáticamente redirigirá al usuario a cualquier lugar en el que los Servicios de Google Play necesitaran que lo hiciera (posiblemente iniciar sesión).

  4. Luego, en onActivityResult() , termine la actividad, después de haber notificado su servicio (a través de una intención) que el problema se resolvió (o no). La actividad transitoria habrá sido invisible para el usuario.

Admito que esta solución es teórica, pero debería funcionar.

  • Error después de actualizar los servicios de Google Play a la versión 11.0.0
  • Demasiado nueva versión para Android google play
  • ActivityNotFoundException en Google Plus
  • DuplicateFileException m4b + servicios de juego 9.0
  • IInAppBillingService.aidl no puede generar archivos Java en Android Studio
  • Google-play-services_lib.jar falta después de actualizar a la última versión (3.1)
  • Java.lang.NullPointerException: CameraUpdateFactory no se inicializa excepción logcat
  • Mensaje INVALID_KEY que intenta autenticarse mediante el botón de inicio de sesión de Google+
  • Utilice los servicios de Google Play y el SDK de AdMob
  • No recibo la actualización de 'com.google.android.gms: play-services-wallet: 8.4.0' para los servicios de reproducción de Google en sdk
  • La API de ubicación de Google Play Service devuelve una ubicación incorrecta a veces
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.