estoy un poco atascado con los servicios remotos en Android. Lo que sucede es que implementé un servicio remoto en el paquete "a.b.c.c." y quiero que otras aplicaciones puedan acceder a este servicio. Me deshice de toda la mierda de ayuda y diseñé la "interfaz" del servicio para trabajar a través de intenciones transmitidas. funciona bien hasta ahora ...¿cómo comienzo (y enlazo) un servicio remoto en Android que se implementa en otra aplicación (paquete diferente)?
problema es: ¿cómo obtengo una aplicación different
(paquete diferente, proyecto diferente, tal vez incluso un desarrollador diferente, ...) para iniciar/detener el servicio?
package d.e.f;
import a.b.c.*;
public class main extends Activity {
protected ImyService myService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = new Intent(ImyService.class.getName());
bindService(intent, sConnection, Context.BIND_AUTO_CREATE);
}
protected ServiceConnection sConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder binder) {
wlService = ImyService.Stub.asInterface(binder);
ServiceConnected = true;
Toast.makeText(main.this, "service connected", Toast.LENGTH_SHORT).show();
}
public void onServiceDisconnected(ComponentName className) {
wlService = null;
ServiceConnected = false;
Toast.makeText(main.this, "service disconnected", Toast.LENGTH_SHORT).show();
}
};
}
Esto bloqueará mi aplicación inmediatamente al inicio. ¿qué hice mal? ¿Cómo haré que esto funcione?
una vez que se está ejecutando, los comandos y los datos se transmitirán a través de difusiones. entonces eso no debería ser un problema real ...
funciona bastante bien para mí! – Ben
@JPM: ver https://github.com/commonsguy/cw-advandroid/blob/master/AdvServices/RemoteService/AndroidManifest.xml – CommonsWare
Lol, es tan simple ... pero genio. No sabía que podrías hacer eso, gracias – JPM