1

ある Android デバイスから別のデバイスに NDEF メッセージを送信したいと考えています。タグに書き込むのではなく、近くのデバイスにメッセージを送信します。

私は Xamarin.Android を使用して Android アプリを開発しており、次のようなメッセージを作成しています。

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

近くのデバイスが検出されたときにメッセージを送信したいのですが、その方法がわかりません。Xamarin のドキュメントは完全ではなく、私は Android 開発に詳しくありません。

誰かが私を助けたり、簡単な例を示したりできますか?

4

1 に答える 1

2

わかった。

  1. 主なアクティビティは、実装NfcAdapter.ICreateNdefMessageCallbackおよびNfcAdapter.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 に答える