Ich versuche, eine einfache Anwendung zu schreiben, um mit NFC-Tags zu interagieren, aber ich kann mein Telefon nicht dazu bringen, irgendetwas anderes zu tun, als die Standard-NFC-Tag-App auszulösen. Ich möchte nur in der Lage sein, jeden Tag, den ich scanne, abzufangen, festzustellen, ob er Daten enthält, und entsprechende Maßnahmen zu ergreifen.
Im Moment sieht meine Manifest-Datei wie
aus %Vor% Beim Scannen eines NFC-Tags wird die Aktivität jedoch nie gestartet. Fehle ich hier etwas? Ich habe versucht, den Intent-Filter in ein BroadcastReceiver
zu setzen und hatte auch kein Glück ...
Sie können Ihre App nicht mit allen NFC-Tags starten, die Sie scannen. Android legt fest, welche App am besten auf den spezifischen Intent-Filter zugeschnitten ist. Wenn Ihre App jedoch im Vordergrund ausgeführt wird, können Sie NFC-Vordergrundversand
In onCreate()
hinzufügen:
In onResume()
hinzufügen:
In onPause()
hinzufügen:
In onNewIntent
können Sie das NFC-Tag wie folgt erhalten:
Die SDK-Dokumentation zeigt dies als einfaches Beispiel.
%Vor%Sie erwarten, dass die Tags im NDEF-Format definiert werden. Ihr Programm wird also nur gestartet, wenn die gelesenen Tags im NDEF-Format vorliegen.
Sie können generische Intent-Filter wie TAG_DISCOVERED oder TECH_DISCOVERED ausprobieren.
Android wählt automatisch die relevanteste Anwendung für die Verarbeitung des gescannten NFC-Tags aus. Sie müssen in Ihrem intent-filter
genauer sein, d. H. Nur auf TEXT-Tags, URL-Tags oder CONTACT-Tags achten. Dies kann erreicht werden, indem Sie den Filter weiter spezifizieren, indem Sie Ihr Beispiel <data android:mimeType="text/plain" />
für TEXT-Tags verwenden. Andernfalls wird die Standard-NFC-Tag-App ausgelöst.
Tags und Links android android-intent nfc