一、前提条件,App必须具有NFC权限。

二、项目中加入监控类NFCCatchActivity.cs

    [Activity(Label = "NFCCatch",Theme = "@android:style/Theme.NoDisplay")]
[IntentFilter(new[] { "android.nfc.action.TECH_DISCOVERED" })]
[MetaData("android.nfc.action.TECH_DISCOVERED", Resource = "@xml/nfc_tech_filter")]
public class NFCCatchActivity : Activity
{
NfcAdapter mNfcAdapter;
PendingIntent mPendingIntent;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState); mNfcAdapter = NfcAdapter.GetDefaultAdapter(this);
if (mNfcAdapter == null)
{
//textViewNFC.Text = "NFC is not available on this device.";
}
else
{
mPendingIntent = PendingIntent.GetActivity(this, , new Intent(this,
typeof(NFCCatchActivity)), PendingIntentFlags.UpdateCurrent); OnNewIntent(Intent);
}
}
protected override void OnResume()
{
base.OnResume();
if (mNfcAdapter != null)
mNfcAdapter.EnableForegroundDispatch(this, mPendingIntent, null, null);
}
protected override void OnPause()
{
base.OnPause();
if (mNfcAdapter != null)
mNfcAdapter.DisableForegroundDispatch(this);
} public static string ByteArrayToString(byte[] ba)
{
string hex = BitConverter.ToString(ba);
string rtnStr = "";
string timeN = DateTime.Now.ToString("ssmmHHddMMyyMMyyddHHmmssMMddHHmm");
string tmp1 = "";
string tmp2 = "";
}
rtnStr = tmp1 + hex + tmp2;
return rtnStr;
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
Tag tag = (Tag)intent.GetParcelableExtra(NfcAdapter.ExtraTag);
string cardID = ByteArrayToString(tag.GetId());
//本活动为后台运行,在获取到IC卡号之后,调用主活动中的方法处理实际业务,如反馈给H5页面。
MainActivity.instance.SetNFCData(cardID);
}
}

NFC处理类

三、与之相关的主活动方法

        public void SetNFCData(string nfcid)
{
//EvaluateJavascript不会刷新页面
//调用H5页面的函数,赋值给文本框或变量都可以
string script = "javascript:SetNFCID('"+ nfcid + "');";
web_view.EvaluateJavascript(script, null);
}

四、由此,就可以实现在终端上感应源,获取源的信息到Web页面之中了。

Xamarin如何使用终端设备的NFC功能传递卡号等信息给Web页面(Android)的更多相关文章

  1. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  2. [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  3. 如何用有NFC功能的手机微信给公交卡充值?入口在那里?

    如何用有NFC功能的手机微信给公交卡充值?入口在那里? 需要两个前提: 1.NFC功能手机授权同意微信获取权限. 2.打开微信,并把公交卡放在手机背面贴紧. 选择下方的[充值金额],可以是10元.20 ...

  4. nfc是什么?nfc功能是什么?

    http://android.tgbus.com/lab/software/201208/447420.shtml nfc是什么?nfc功能是什么?出现在我们手机上的nfc功能怎么用?下面请看今天小编 ...

  5. NFC模组,开发NFC功能 仅仅要几条指令的事情

    特点:实现NFC透明传输.内置NFC协议栈,支持UART串口直接读写,用于门禁能够同一时候兼容手机和卡片开门,还能实现动态密钥,读到的NFC数据自己主动串口输出,会串口就能开发NFC,不须要研究LLC ...

  6. android nfc功能开发

    链接:Android NFC开发详细总结   https://blog.csdn.net/zhwadezh/article/details/79111348 链接2:Android NFC功能 简单实 ...

  7. 解惑:NFC手机如何轻松读取银行卡信息?

    自支付宝钱包8.0推出了NFC新功能,只要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内余额.卡的信息,还可以给卡进行充值,非常贴心实用. 但是很多网友表示担忧,要是别人 ...

  8. 解惑:NFC手机怎样轻松读取银行卡信息?

    自支付宝钱包8.0推出了NFC新功能,仅仅要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内剩余金额.卡的信息,还能够给卡进行充值,很贴心有用. 可是非常多网友表示担忧,要 ...

  9. 微信平台接入Web页面功能接口(C#)

    微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ...

随机推荐

  1. js操作history

    js操作history pushState pushState只会在当前history中添加一条记录,并不会刷新浏览器 history.pushState({}, "my title&quo ...

  2. 15 更多jQuery知识

    jqueryUI 官网: https://jqueryui.com/ jqueryUI 中文网: http://www.jqueryui.org.cn/ jquery插件内容包含 官网demo: ht ...

  3. javascript中的装箱和拆箱操作

    1,装箱: 把基本数据类型转换为对应的引用类型的操作称为装箱,把引用类型转换为基本的数据类型称为拆箱. 在<javascript高级程序设计>中有这样一句话: 每当读取一个基本类型的时候, ...

  4. 16-EasyNetQ之自动订阅者

    EasyNetQ v0.7.1.30版本有了一个简单AutoSubscriber.你能够使用它很容易的去扫描指定程序集中实现了IConsume 或 IConsumeAsync接口的类,然后这个自动订阅 ...

  5. Objective-C入门&nbsp;简介Cocoa框架

    Cocoa Framework简称Cocoa,它是Mac OS X上的快速应用程序开发(RAD, Rapid Application Development)框架,一个高度面向对象的(Object O ...

  6. 病症:arm启动后应用程序界面显示…

    病症:病症:arm启动后应用程序界面显示不正常(左面有部分未能正常显示)也就是左面少一块区域,右面多一部, 原因:lcd显示驱动中场扫描的问题 平台:s3c2416.linux2.6.800*480l ...

  7. IAR&nbsp;FOR&nbsp;ARM&nbsp;各版…

    用过Keil和IAR,个人感觉是IAR还是很不错的.下载地址是: http://files.iar.com/ftp/pub/box/CD-EWARM-6301-3142.zip V6.30.1(该地址 ...

  8. JAVA基础知识总结15(集合容器)

    集合框架:用于存储数据的容器. 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区别: 1: ...

  9. iOS静态库的制作与引用

    [iOS静态库的制作与引用] 1.Configuring Exported Headers To configure which headers are exported to clients, se ...

  10. java Web jsp页面的静态包含和动态包含

    现在有头 体 尾 三个jsp页面 top.jsp <%@ page language="java" contentType="text/html; charset= ...