Un po 'più a questo: Se vogliamo usare Intent implicito (Con Nome azione), dobbiamo usare setPackageName come questo:
Intent intent = new Intent();
intent.setPackage("com.action.ServicePackageName");
intent.setAction("com.action.ActionNameOfService");
bindService(intent, yourServiceConectionObject, Service.BIND_AUTO_CREATE);
//or
//startService(intent);
punto da notare, tuttavia, è che se il servizio è servizio locale ; È necessario utilizzare l'intento esplicito in quanto la classe di servizio è disponibile. Possiamo anche utilizzare nello stesso modo mostrato sopra, ma l'uso di Explicit è consigliato per gli stessi motivi indicati in alcune risposte. Per servizi remoti (servizi in altre app); Dal momento che non possiamo avere la classe di servizio disponibile per noi; Dobbiamo legare per servire solo in questo modo.
sicurezza ... se ci sono più attività che reagiscono per lo stesso intento, all'utente viene chiesto di sceglierne una ... ora, immagina solo come potrebbe funzionare per i servizi (non posso) ... ecco perché devi punto esatto nome del componente – Selvin
http://developer.android.com/guide/components/intents-filters.html – Sree
@selvin ha funzionato per le versioni pre v5 (credo) in modo che potesse funzionare ... – pskink