Android 如何通过NdefMessage传递自定义对象

Android 如何通过NdefMessage传递自定义对象,android,nfc,ndef,Android,Nfc,Ndef,关于stackoverflow的第一个问题。我试图把它说清楚,并达到标准。我是Android开发的新手,尤其是NFC。我正在开发一个应用程序,您可以在其中创建和加入活动,有点像在Facebook上。我有一个ListEvent活动和一个DisplayEvent活动。当我从列表中选择一个事件时,它会打开DisplayEvent活动,其中包含有关我的事件的正确信息 我希望当X在他的设备上有一个事件A打开,当他和Y进入NFC范围时,Y现在在他的设备上有一个事件A。我现在可以打开正确的活动,甚至可以从一部

关于stackoverflow的第一个问题。我试图把它说清楚,并达到标准。我是Android开发的新手,尤其是NFC。我正在开发一个应用程序,您可以在其中创建和加入活动,有点像在Facebook上。我有一个ListEvent活动和一个DisplayEvent活动。当我从列表中选择一个事件时,它会打开DisplayEvent活动,其中包含有关我的事件的正确信息

我希望当X在他的设备上有一个事件A打开,当他和Y进入NFC范围时,Y现在在他的设备上有一个事件A。我现在可以打开正确的活动,甚至可以从一部手机向另一部手机发送字符串。我在网上搜索了很多,但我似乎不知道如何通过NFC而不是字符串发送自定义项目(在我的例子中是事件)。我还需要在我的事件中发送一个布尔值。这可能是超级简单,但我在这一点上是愚蠢的。事先非常感谢

这是我的密码

舱单:

<activity
        android:name="vincent.ievennement.activity.DisplayEventActivity"
        android:parentActivityName="vincent.ievennement.activity.ListeEventActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="vincent.ievennement.activity.ListeEventActivity" />
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>
createNdefMessage:

public NdefMessage createNdefMessage(String message) {
    NdefRecord ndefRecord = NdefRecord.createMime("text/plain", message.getBytes());
    NdefMessage ndefMessage = new NdefMessage(ndefRecord);
    return ndefMessage;
}

您可以使用
NdefRecord.createExternal
函数创建包含应用程序特定数据的NdefRecord。描述了如何在NdefRecord中包含“有效负载”。您只需将“自定义对象”转换为一个字节数组即可。然后将其添加到新的NdefRecord中,并将其添加到您的NdefMessage中。

非常感谢!!这非常有帮助:)
public NdefMessage createNdefMessage(String message) {
    NdefRecord ndefRecord = NdefRecord.createMime("text/plain", message.getBytes());
    NdefMessage ndefMessage = new NdefMessage(ndefRecord);
    return ndefMessage;
}