Xamarin如何使用终端设备的NFC功能传递卡号等信息给Web页面(Android)
一、前提条件,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)的更多相关文章
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
		在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ... 
- [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
		在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ... 
- 如何用有NFC功能的手机微信给公交卡充值?入口在那里?
		如何用有NFC功能的手机微信给公交卡充值?入口在那里? 需要两个前提: 1.NFC功能手机授权同意微信获取权限. 2.打开微信,并把公交卡放在手机背面贴紧. 选择下方的[充值金额],可以是10元.20 ... 
- nfc是什么?nfc功能是什么?
		http://android.tgbus.com/lab/software/201208/447420.shtml nfc是什么?nfc功能是什么?出现在我们手机上的nfc功能怎么用?下面请看今天小编 ... 
- NFC模组,开发NFC功能 仅仅要几条指令的事情
		特点:实现NFC透明传输.内置NFC协议栈,支持UART串口直接读写,用于门禁能够同一时候兼容手机和卡片开门,还能实现动态密钥,读到的NFC数据自己主动串口输出,会串口就能开发NFC,不须要研究LLC ... 
- android nfc功能开发
		链接:Android NFC开发详细总结 https://blog.csdn.net/zhwadezh/article/details/79111348 链接2:Android NFC功能 简单实 ... 
- 解惑:NFC手机如何轻松读取银行卡信息?
		自支付宝钱包8.0推出了NFC新功能,只要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内余额.卡的信息,还可以给卡进行充值,非常贴心实用. 但是很多网友表示担忧,要是别人 ... 
- 解惑:NFC手机怎样轻松读取银行卡信息?
		自支付宝钱包8.0推出了NFC新功能,仅仅要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内剩余金额.卡的信息,还能够给卡进行充值,很贴心有用. 可是非常多网友表示担忧,要 ... 
- 微信平台接入Web页面功能接口(C#)
		微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ... 
随机推荐
- C#读写EXCEL(二)  ZedGraph在Asp.net中的应用
			C#读写EXCEL(二) 2010-08-25 14:50:42| 分类: 默认分类 | 标签: |举报 |字号大中小 订阅 用微信 “扫一扫” 将文章分享到朋友圈. 用易信 “扫一扫” ... 
- MySQL高可用MHA实战
			MySQL高可用架构MHA介绍 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职 ... 
- Basics
			[Basics] 1.You can declare multiple constants or multiple variables on a single line, separated by c ... 
- codeforce465DIV2——D. Fafa and Ancient Alphabet
			概率的计算答案给出的这张图很清楚了,然后因为要求取模,a/b%M=a*b^-1%M=a*inv(b,M)%M; #include <cstdio> #include <cstring ... 
- linux 压力测试工具 webbench
			webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 1. wget htt ... 
- Jquery中extend使用技巧
			在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用. Jquery的扩展方法原型是: var v=$.extend(dest,src1,src2,[,src3... ... 
- 238. Product of Array Except Self 由非己元素形成的数组
			[抄题]: Given an array of n integers where n > 1, nums, return an array output such that output[i] ... 
- Docker学习笔记_下载镜像更换为国内源,实现快速下载image
			1.编辑/etc/docker/daemon.json,增加下面内容: { "registry-mirrors": ["https://registry.docker-c ... 
- CF407B Long Path
			好玩的题. 首先我们(看一下题解之后)发现当你第一次走到了一个点的时候,那么它之前的所有点一定都访问过了偶数次. 假设我们第一次走到了一个点$i$,那么$i - 1$一定访问了偶数次,那么第一次走$i ... 
- hdu 2553 N皇后问题(一维数组详尽解释)
			//一维数组解法(注释详尽)//num皇后可以表示第num列,然后枚举num皇后所在的行//二维数组对角线转换为坐标的关系#include<stdio.h> #include<str ... 
