Android / NFC: Pobierz tag w onCreate () bez nowego zamiaru

Pracuję nad aplikacją NFC. Aby uruchomić moją aplikację, używam tagu NDEF z rekordem AAR NDEF wewnątrz.

To działa dobrze. Ale teraz chcę bezpośrednio przeczytać zawartość tagu w aplikacji. Jak mogę to zrobić?

(Działa już, gdy usuwam tag z telefonu i ponownie go dotykam, ale chcę wyeliminować ten krok.)

Aktualizacja: trochę więcej szczegółów Ok, aby to było bardziej jasne, oto niektóre części mojego obecnego kodu.

private NfcAdapter nfcAdapter;
private static final int PENDING_INTENT_TECH_DISCOVERED = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_l);
    text_output = (TextView) findViewById(R.id.textView2);

    NfcAdapter adapter = ((NfcManager) getSystemService(Context.NFC_SERVICE))
            .getDefaultAdapter();       
}

@Override
public void onResume() {
    super.onResume();

    nfcAdapter = ((NfcManager) this.getSystemService(Context.NFC_SERVICE))
            .getDefaultAdapter();

    PendingIntent pi = createPendingResult(PENDING_INTENT_TECH_DISCOVERED,
            new Intent(), 0);

    nfcAdapter.enableForegroundDispatch(this, pi,
            new IntentFilter[] { new IntentFilter(
                    NfcAdapter.ACTION_TECH_DISCOVERED) }, new String[][] {
                    new String[] { "android.nfc.tech.NdefFormatable" },
                    new String[] { "android.nfc.tech.Ndef" } });
} 

@Override
public void onPause() {
    super.onPause();
    nfcAdapter.disableForegroundDispatch(this);
}

@Override
protected void onActivityResult(int requestCode, int resultCode,
        final Intent data) {
    switch (requestCode) {
    case PENDING_INTENT_TECH_DISCOVERED:
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                doTagOperation(data);
            }
        };
        new Thread(runnable).start();

        break;
    }
}

private void doTagOperation(Intent data) {

    try {           
        String action = data.getAction();
        if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {

            Tag tag = data.getParcelableExtra(NfcAdapter.EXTRA_TAG);                                
            Ndef ndefTag = Ndef.get(tag);
        }
    } catch (Exception ex) {
                ...
    }
}

Aby uruchomić aplikację, używam AAR-NDEF-Record na tagu, który można utworzyć w ten sposób: NdefRecord ndr = NdefRecord.createApplicationRecord ("com.example.something");

Tak więc chcę: Dotknij znacznika, gdy aplikacja nie zostanie uruchomiona, spowoduje to uruchomienie aplikacji (już działa), a następnie powinien bezpośrednio odczytać tag bez konieczności odsuwania telefonu od tagu i dotknięcia go ponownie.

questionAnswers(2)

yourAnswerToTheQuestion