Estoy unión al servicio de esta manera: ClaseAndroid: parámetro pase a servicio desde Actividad
Actividad:
ListenLocationService mService;
@Override
public void onCreate(Bundle savedInstanceState) {
...
Intent intent = new Intent(this, ListenLocationService.class);
intent.putExtra("From", "Main");
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
...
}
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className,
IBinder service) {
LocalBinder binder = (LocalBinder) service;
mService = binder.getService();
}
public void onServiceDisconnected(ComponentName arg0) {
}
};
onBind
Este es el método de mi Servicio:
@Override
public IBinder onBind(Intent intent) {
Bundle extras = intent.getExtras();
if(extras == null)
Log.d("Service","null");
else
{
Log.d("Service","not null");
String from = (String) extras.get("From");
if(from.equalsIgnoreCase("Main"))
StartListenLocation();
}
return mBinder;
}
Tengo "nulo" en LogCat
- el paquete es nulo en s La pena de que hice intent.putExtra
antes de bindService
En general, el servicio funciona bien. Sin embargo, necesito llamar al StartListenLocation();
solo desde la actividad principal de la aplicación (decido hacer esto enviando un indicador).
¿Cómo puedo enviar datos al servicio? ¿O tal vez haya otra forma de verificar qué actividad inició onBind
?
Gracias por la respuesta . Me enfrenté a otro problema más adelante, tal vez usted sepa cómo resolverlo: http://stackoverflow.com/questions/9956601/android-set-and-get-services-variable-in-different-activities –
@yorkw "Así es como vincular la comunicación de servicios diseñada para funcionar en la API "- no es que dude que usted tenga razón, pero ¿tiene un enlace a algunos documentos oficiales de Android donde puedo leer más sobre esto? – DuneCat
@DuneCat, acepté que la declaración no es del todo exacta, en realidad se hace referencia a una de las recomendaciones que Google sugirió para implementar un servicio enlazado, consulte [aquí] (http://developer.android.com/guide/components/bound -services.html # Binder) para más detalles. – yorkw