Two NFC tags linking to two different activities each in a project?

后端 未结 2 1820
暗喜
暗喜 2021-01-16 00:45

I\'m doing an NFC Application and was wondering if this scenario is possible:

Say, I have 2 NFC tags and 2 activities in one project. NFC A is written to open up Act

相关标签:
2条回答
  • 2021-01-16 01:00

    One way might be to have two MimeTypes in your manifest. Then you have those MimeTypes linked to an (additional) activity which will check which MimeType is actually on your tag (A or B). Depending on what you find you can lauch the respective activity A or B.

    0 讨论(0)
  • 2021-01-16 01:10

    Depending on what you want to achieve, the easiest way would be to use two tags with two different record types (e.g. two different MIME types, but note that you should prefer to use NFC Forum external type names over custom MIME types!)

    Assuming you have

    • Tag A:

      +--------------------------------------+
      | MIME:application/com.example.hello.a |
      +--------------------------------------+
      
    • Tag B:

      +--------------------------------------+
      | MIME:application/com.example.hello.b |
      +--------------------------------------+
      

    Then you can define intent filters for your activities, so that ActivityA will only be triggered by tag A and ActivityB will only be triggered by tag B:

    <activity android:name=".ActivityA" ...>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/com.example.hello.a" />
        </intent-filter>
    </activity>
    
    <activity android:name=".ActivityB" ...>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/com.example.hello.b" />
        </intent-filter>
    </activity>
    
    0 讨论(0)
提交回复
热议问题