NFC читать и писать - PullRequest
       1

NFC читать и писать

0 голосов
/ 06 сентября 2011

Я пишу приложение для Android для чтения и записи в тег, используя Nexus S .У меня есть два разных действия: одно для чтения, а другое для записи. Оба должны быть вызваны в соответствующих контекстах.Мой манифест выглядит следующим образом:

<?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>

При моем выполнении действия вызываются случайным образом ... один раз вызывается действие tagviewer, а другое - запись тега.что мое приложение должно вызывать «активность tagviewer» при чтении и «активность тега записи» при записи.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2014

Когда ваше действие возобновляется, вы должны использовать диспетчеризацию переднего плана в методе OnResume () вашего ActivityClass. Для чтения тега перейдите по этой ссылке Чтение тега NFC с помощью ForeGround Dispatch . И во время записи вы должны снова установить передний план Отправка для Письменной деятельности. Не забудьте прекратить отправку переднего плана в методе OnPause вашей активности. Так что одновременно только одна операция будет регистрироваться для отправки переднего плана

0 голосов
/ 06 сентября 2011

Вам не нужно объявлять фильтр намерений для вашего "действия тега записи". Вместо этого вам нужно использовать систему диспетчеризации переднего плана.

Следующая ссылка отправляет вас на страницу разработки Android, которая описывает, как реализовать систему диспетчеризации переднего плана. Реализация очень проста.

http://developer.android.com/guide/topics/nfc/index.html#foreground-dispatch

Когда происходит событие newIntent, вы можете записать свои данные в тег NFC. Для записи данных в тег NFC перейдите по этой ссылке http://developer.android.com/guide/topics/nfc/index.html#write

Это то, как я делаю это в своих приложениях, и это прекрасно работает.

...