我有一个用于Xamarin.Forms(Android)的库,允许使用NFC,以下是代码:
public class MediaAccessReader : Java.Lang.Object, NfcAdapter.IReaderCallback
{
public const string TypeName = "Nfc";
private static NfcAdapter NfcAdapter { get; } = NfcAdapter.GetDefaultAdapter(Android.App.Application.Context);
public string Name { get; set; }
public void Initialize(MediaAddedEventHandler mediaAdded, MediaRemovedEventHandler mediaRemoved)
{
Name = "Nfc";
#if XAMARINANDROID
var activity = Forms.Context as Activity;
NfcAdapter?.EnableReaderMode(activity, this, NfcReaderFlags.NfcA | NfcReaderFlags.NfcB | NfcReaderFlags.NfcF | NfcReaderFlags.NfcV | NfcReaderFlags.SkipNdefCheck, Bundle.Empty);
#else
var activity = ?????????????????;
NfcAdapter?.EnableReaderMode(activity , this, NfcReaderFlags.NfcA | NfcReaderFlags.NfcB | NfcReaderFlags.NfcF | NfcReaderFlags.NfcV | NfcReaderFlags.SkipNdefCheck, Bundle.Empty);
#endif
MediaAdded += mediaAdded;
MediaRemoved += mediaRemoved;
}
}
我该如何替换var activity = Forms.Context as Activity
这行代码以获取当前活动并能够在没有使用Xamarin Forms的情况下调用NfcAdapter?.EnableReaderMode?
否则,还有其他解决方案吗?