【发布时间】:2018-07-25 23:00:59
【问题描述】:
我正在开发使用 NFC 的跨平台移动应用程序。我已经检查了 xamarin android 梁here。现在我正在尝试使用 xamarin 表单实现相同的示例,因此我正在使用依赖服务从 android 项目中调用该函数。我尝试制作从设备传递到另一个设备的简单消息,但它不起作用。问题是 NfcAdapter.IONNdefPushCompleteCallback 的实现
PhoneBeam.cs
using System;
using System.Text;
using Android.App;
using MyApp.Droid;
using Android.Nfc;
using Xamarin.Forms;
[assembly: Dependency(typeof(PhoneBeam))]
namespace MyApp.Droid
{
public class PhoneBeam : Activity, NfcAdapter.ICreateNdefMessageCallback, NfcAdapter.IOnNdefPushCompleteCallback, iBeam
{
private NfcAdapter nfcAdapter;
public void Beam()
{
nfcAdapter = NfcAdapter.GetDefaultAdapter(MainActivity.Instance);
nfcAdapter.SetNdefPushMessageCallback(this, MainActivity.Instance);
nfcAdapter.SetOnNdefPushCompleteCallback(this, MainActivity.Instance);
}
public NdefMessage CreateNdefMessage(NfcEvent evt)
{
DateTime time = DateTime.Now;
var text = ("Beam me up!\n\n" + "Beam : " +
time.ToString("HH:mm:ss"));
NdefMessage msg = new NdefMessage(
new NdefRecord[]{ CreateMimeRecord (
"application/com.example.android.beam",
Encoding.UTF8.GetBytes (text)) });
return msg;
}
public NdefRecord CreateMimeRecord(String mimeType, byte[] payload)
{
byte[] mimeBytes = Encoding.UTF8.GetBytes(mimeType);
NdefRecord mimeRecord = new NdefRecord(
NdefRecord.TnfMimeMedia, mimeBytes, new byte[0], payload);
return mimeRecord;
}
}
}
它说“PhoneBeam 没有实现接口成员 NfcAdapter.IOnNdefPushCompleteCallback.OnNdefPushComplete(NfcEvent)”。我错过了什么吗?
【问题讨论】:
标签: xamarin.forms xamarin.android nfc