NFC broadcastreceiver problem
Quero que meu aplicativo ouça as tags nfc apenas quando estiver ativado. Por isso, tentei registrar um ouvinte nfc da seguinte maneira, sem nenhum sucess
IntentFilter filter = new IntentFilter("android.nfc.action.TECH_DISCOVERED");
registerReceiver(nfcTagListener, filter);
BroadcastReceiver nfcTagListener = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Log.d("nfc", "" + tag.getId());
}
}
};
Eu tentei também declarar a intenção no meu manifesto após os apidemos e funciona perfeitamente, inicia minha atividade e obtém o ID da tag nfc. Mas não é isso que eu quero, quero detectar o ID da tag apenas quando estiver dentro dessa atividade. Eu estou pensando que isso pode estar relacionado à seguinte linha incluída nas demos da API. Mas eu não sei como fazer isso programaticamente
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc">
Alguma dica?
Obrigado