2011-10-19 15 views
9

Sono curioso di sapere se Android NFC service consente allo sviluppatore di avviare uno Service (o IntentService) quando viene scansionato il tag NFC?Servizio di avvio NFC per Android

Da Sviluppatori Android:

Quando un dispositivo esegue la scansione di un tag che ha NDEF dati su di esso, ma non poteva essere associata a una MIME o URI, il sistema di tag invio tenta di avviare un'attività con l'intento ACTION_TECH_DISCOVERED.

Sembra che sia possibile avviare solo una nuova attività, non Servizio, sebbene possa ricevere lo stesso filtro Intento.

+2

No, non si può avviare un servizio da un tag scansionata o un messaggio Android Beam ricevuto. Vedi anche commento a http://stackoverflow.com/a/9490726/1202968 –

+0

@NFC guy, per favore considera una risposta, piuttosto che commentare – HitOdessit

+4

Vedi http://meta.stackexchange.com/a/98955/190880 –

risposta

10

Anche se non è il metodo diretto, si potrebbe avere un barebone Activity che immediatamente avviare un servizio, quindi chiudere:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Context con = getApplicationContext(); 
    Intent srv = new Intent(con, TargetService.class); 
    con.startService(srv); 
    finish(); 
} 
+0

sì anche questa era la mia soluzione –

+2

Non dimenticare di aggiungere il Tag extra anche all'intenzione del servizio, se vuoi interagire con il tag dal servizio. – ge0rg