NFC lire et écrire
-
27-10-2019 - |
Question
Je suis en train d'écrire une application Android pour lire et écrire à une balise en utilisant Nexus S . J'ai deux activités différentes, l'une pour la lecture et l'autre pour écrire, les deux doivent être appelés au cours de leurs contextes respectifs. Mon apparence manifeste comme ceci:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="bri.nfc.NfcTagReaderV1"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.NFC"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".NFCTagReaderV1Activity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.android.nfc.TagViewer">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:mimeType="text/*" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:scheme="http" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name="bri.nfc.writetag.WritetagActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:mimeType="text/*" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:scheme="http" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
</manifest>
A mon exécution, les activités sont appelées au hasard .. une fois l'activité tagviewer est appelée et une autre activité de writetag de temps est appelé.
Je requiers que ma demande devrait appeler « activité tagviewer » sur lecture et « activité writetag » sur écriture.
La solution
Vous n'avez pas besoin de déclarer un filtre pour votre intention « activité writetag ». Au lieu de cela, vous devez utiliser le système d'expédition de premier plan.
Le lien suivant vous envoie vers une page Dev Android, qui décrit comment mettre en œuvre un système d'expédition de premier plan. La mise en œuvre est très simple.
http://developer.android.com/guide/ sujets / nfc / index.html # premier plan-Dispatch
Quand le newIntent-événement est déclenché, alors vous êtes en mesure d'écrire vos données sur l'étiquette NFC. Pour écrire des données sur un tag NFC suivez ce lien http://developer.android .com / Guide / thèmes / nfc / index.html # écriture
Cest la façon dont je fais cela dans mes applications et il fonctionne très bien.
Autres conseils
Quand votre activité vous votre CV doit utiliser l'envoi de premier plan dans onResume Méthode () de votre ActivityClass.For lecture de l'étiquette suivez ce lien lecture NFC Tag Avec Dispatch Premier plan .And Pendant que vous écrit si remîmes le premier plan de répartition pour la WritingActivity. Ne pas oublier d'arrêter de premier plan dans Dispatch OnPause Méthode de votre Activity.So que, à un moment seulement 1 activité enregistrera pour l'expédition de premier plan