2011-10-19 126 views
9

我很好奇,如果Android的NFC service允許開發人員開始Service(或IntentService爲此事)時NFC標籤被掃描?Android的NFC啓動服務

從Android開發者:

當設備會掃描上有NDEF數據的標籤,但不能 映射到MIMEURI,標籤調度系統試圖啓動一個 活動ACTION_TECH_DISCOVERED意圖。

看來只有一個新的活動可以啓動,而不是服務,儘管它可以接收相同的Intent過濾器。

+2

沒有,一個人不能從掃描標籤或接收Android Beam功能的消息啓動服務。另見評論http://stackoverflow.com/a/9490726/1202968 –

+0

@NFC傢伙,請考慮發佈回答,而不是評論 – HitOdessit

+4

請參閱http://meta.stackexchange.com/a/98955/190880 –

回答

10

雖然不是直接的方法,你可以有一個準系統Activity,將立即啓動一個服務,然後退出:

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

是,那也是我的解決方案 –

+2

如果您想與服務中的標記進行交互,請不要忘記將Tag額外添加到服務意圖。 – ge0rg