一、前提条件,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. Wireshark捕获非加密的数据包

    启动监听模式 root@sch01ar:~# airmon-ng start wlan0 启动Wireshark工具 root@sch01ar:~# wireshark 选择接口,这里选择wlan0m ...

  2. 用python40行代码编写的计算器

    效果图 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  3. Write your first jQuery plugin

    本文固定链接: http://www.jquery.org.cn/archives/380 一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法:另一 ...

  4. Spring总结十:事务案例

    数据库表Account: 导包: <dependencies> <!--测试--> <dependency> <groupId>junit</gr ...

  5. php const static define 基本用法和区别

    const  定义一些在运行时不能被改变的数值.一旦值被改变,则会发生错误. 特性 只能用类名访问.不需要用 $  符号 <?php class test{ const pi=123.12321 ...

  6. ./configure 交叉编译库时所最常用到的配置

    ./configure 交叉编译,一般流程 ./configure xxx make make instal 结合我自己的编译工具,一般我的编译选项如下 ./configure --prefix=in ...

  7. 5.WHERE 子句

    WHERE 子句用于规定选择的标准. WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句. 语法 SELECT 列名称 FROM 表名称 WHERE 列 运 ...

  8. Oracle——创建和管理表

    一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...

  9. Monkey测试异常信息解读

    查看包名 1.cmd 下面输入 adb locat > D:\test.txt 2.ctrl+c 停掉刚刚 1 运行的进程 3.打开test.txt文件--搜索  Displayed  对应的内 ...

  10. Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结(转)

    原文:http://blog.csdn.net/ithomer/article/details/6100734 知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式 ...