1

我想将 NDEF 消息从一台 Android 设备发送到另一台设备。不要写在标签中,而是将消息发送到附近的设备。

我正在使用 Xamarin.Android 开发 Android 应用程序,并创建如下消息:

    NdefRecord uriRecord = NdefRecord.CreateUri("http://myURL");
    NdefMessage message = new NdefMessage(new[] { uriRecord });

我现在想在检测到附近的设备时发送消息,但我不知道它是如何完成的。Xamarin的文档不完整,对Android开发也不熟悉。

任何人都可以帮助我或展示一个简单的例子吗?

4

1 回答 1

2

我想通了。

  1. 主要活动必须实现NfcAdapter.ICreateNdefMessageCallbackNfcAdapter.IOnNdefPushCompleteCallback接口。
  2. 实施CreateNdefMessageOnNdefPushComplete方法。
  3. 主要活动的方法中的调用SetNdefPushMessageCallbackSetOnNdefPushCompleteCallback方法。NfcAdapterOnCreate
public class Activity1 : Activity, NfcAdapter.ICreateNdefMessageCallback, NfcAdapter.IOnNdefPushCompleteCallback
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        ...

        NfcAdapter adapter = NfcAdapter.GetDefaultAdapter(this);
        adapter.SetNdefPushMessageCallback(this, this);
        adapter.SetOnNdefPushCompleteCallback(this, this);           
    }

    public NdefMessage CreateNdefMessage(NfcEvent e)
    {
        NdefRecord uriRecord = NdefRecord.CreateUri("http://myURL");
        NdefMessage message = new NdefMessage(new[] { uriRecord });
        return message;
    }

    public void OnNdefPushComplete(NfcEvent e)
    {
        //throw new NotImplementedException();
    }
}
于 2013-07-08T14:09:51.903 回答