如何将Android设备上的NFC功能改写为读取卡片信息的长尾?

2026-04-02 01:211阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计622个文字,预计阅读时间需要3分钟。

如何将Android设备上的NFC功能改写为读取卡片信息的长尾?

NFC代码请求:请提供NFConandroid201959目录下的文章、代码下载目的代码,并申请NFC权限为Activity添加singleTask接收卡片信息Activity.onNFConandroidNFConandroid201959目录文章代码下载目的代码申请NFC权限

NFConandroidNFConandroid201959目录文章目录代码下载目的代码申请NFC权限为Activity添加singleTask接收卡片信息Activity.on

NFC on android NFC on android

2019/5/9 目录

文章目录

    • 代码下载
    • 目的
    • 代码
    • 申请NFC权限
    • 为Activity 添加 singleTask
    • 接收卡片信息
      • Activity.onResume内处理一下NFC
      • Activity.onPause 内停止接收 NFC
      • Activity.onNewIntent 内接收NFC发给你的卡片信息

代码下载

[Android NFC Demo](zwd.3wfocus.com/svn/files/trunk/tp/tvm/apps/android_rpc)

目的

手头的门卡,想在android系统上刷出信息来。

如何将Android设备上的NFC功能改写为读取卡片信息的长尾?

代码

网上搜了一下,用android 的 NFC 读卡模块, 能读到卡信息。 参见 参考1.

申请NFC权限

在工程的 AndroidManifest.xml 文件中添加如下代码,用于获取 NFC 硬件访问权限:

为Activity 添加 singleTask

仍然在是AndroidManifest.xml,为你的Activity添加singleTask.

不给 Activity 添加singleTask的话,每次你刷卡,当前的Activity会被 重新创建一遍,让你无法接收到android发给你的卡片信息。

接收卡片信息

用户刷卡后,android系统会给app发通知。

在app的Activity内,注册一下,就能收到刷卡时的通知。

###Activity.onCreate 内初始化NFC onCreate内,添加以下代码,向NFC系统注册一下,让刷卡后,NFC系统调用你:

public boolean init(){NfcManager mNfcManager = (NfcManager) activity_.getSystemService(Context.NFC_SERVICE);mNfcAdapter = mNfcManager.getDefaultAdapter();if (mNfcAdapter == null) {message = "tv_nfc_notsupport";return false;} else if ((mNfcAdapter != null) return false;} else if ((mNfcAdapter != null) }Class c = activity_.getClass();mPendingIntent =PendingIntent.getActivity(activity_, 0, new Intent(activity_, c), 0);init_NFC();return true;}private void init_NFC() {IntentFilter tagDetected = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);tagDetected.addCategory(Intent.CATEGORY_DEFAULT);}

Activity.onResume内处理一下NFC

public void resume(){if (mNfcAdapter != null) {mNfcAdapter.enableForegroundDispatch(activity_, mPendingIntent, null, null);Intent i = activity_.getIntent();String i_a = i.getAction();if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(i_a)) {String data = processIntent(activity_.getIntent());}}}

Activity.onPause 内停止接收 NFC

public void stopNFC_Listener() {if(mNfcAdapter!=null) {mNfcAdapter.disableForegroundDispatch(activity_);}}

Activity.onNewIntent 内接收NFC发给你的卡片信息

```public String processIntent(Intent intent) {String data = null;Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);String[] techList = tag.getTechList();byte[] ID = new byte[20];data = tag.toString();ID = tag.getId();String UID = Utils.bytesToHexString(ID);String IDString = bytearray2Str(hexStringToBytes(UID.substring(2,UID.length())), 0, 4, 10);data += "\n\nUID:\n" + UID;data += "\n\nID:\n" + IDString;data += "\nData format:";for (String tech : techList) {data += "\n" + tech;}data += "\nwg26status:-->" + PosUtil.getWg26Status(Long.parseLong(IDString)) + "\n";data += "wg34status:-->" + PosUtil.getWg34Status(Long.parseLong(IDString)) + "\n";return data;}

## 结论要接收到刷卡信息,只要在AndroidManifest.xml内添加NFC权限,注意也要为你的Actvity添加 singleTask属性。然后,在你的Activity的onCreate/onResume/onPause/onNewIntent内,添加NFC代码,就能接收到刷卡信息。## 参考- 参考1: [Android NFC开发教程](c.biancheng.net/view/3202.html)

本文共计622个文字,预计阅读时间需要3分钟。

如何将Android设备上的NFC功能改写为读取卡片信息的长尾?

NFC代码请求:请提供NFConandroid201959目录下的文章、代码下载目的代码,并申请NFC权限为Activity添加singleTask接收卡片信息Activity.onNFConandroidNFConandroid201959目录文章代码下载目的代码申请NFC权限

NFConandroidNFConandroid201959目录文章目录代码下载目的代码申请NFC权限为Activity添加singleTask接收卡片信息Activity.on

NFC on android NFC on android

2019/5/9 目录

文章目录

    • 代码下载
    • 目的
    • 代码
    • 申请NFC权限
    • 为Activity 添加 singleTask
    • 接收卡片信息
      • Activity.onResume内处理一下NFC
      • Activity.onPause 内停止接收 NFC
      • Activity.onNewIntent 内接收NFC发给你的卡片信息

代码下载

[Android NFC Demo](zwd.3wfocus.com/svn/files/trunk/tp/tvm/apps/android_rpc)

目的

手头的门卡,想在android系统上刷出信息来。

如何将Android设备上的NFC功能改写为读取卡片信息的长尾?

代码

网上搜了一下,用android 的 NFC 读卡模块, 能读到卡信息。 参见 参考1.

申请NFC权限

在工程的 AndroidManifest.xml 文件中添加如下代码,用于获取 NFC 硬件访问权限:

为Activity 添加 singleTask

仍然在是AndroidManifest.xml,为你的Activity添加singleTask.

不给 Activity 添加singleTask的话,每次你刷卡,当前的Activity会被 重新创建一遍,让你无法接收到android发给你的卡片信息。

接收卡片信息

用户刷卡后,android系统会给app发通知。

在app的Activity内,注册一下,就能收到刷卡时的通知。

###Activity.onCreate 内初始化NFC onCreate内,添加以下代码,向NFC系统注册一下,让刷卡后,NFC系统调用你:

public boolean init(){NfcManager mNfcManager = (NfcManager) activity_.getSystemService(Context.NFC_SERVICE);mNfcAdapter = mNfcManager.getDefaultAdapter();if (mNfcAdapter == null) {message = "tv_nfc_notsupport";return false;} else if ((mNfcAdapter != null) return false;} else if ((mNfcAdapter != null) }Class c = activity_.getClass();mPendingIntent =PendingIntent.getActivity(activity_, 0, new Intent(activity_, c), 0);init_NFC();return true;}private void init_NFC() {IntentFilter tagDetected = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);tagDetected.addCategory(Intent.CATEGORY_DEFAULT);}

Activity.onResume内处理一下NFC

public void resume(){if (mNfcAdapter != null) {mNfcAdapter.enableForegroundDispatch(activity_, mPendingIntent, null, null);Intent i = activity_.getIntent();String i_a = i.getAction();if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(i_a)) {String data = processIntent(activity_.getIntent());}}}

Activity.onPause 内停止接收 NFC

public void stopNFC_Listener() {if(mNfcAdapter!=null) {mNfcAdapter.disableForegroundDispatch(activity_);}}

Activity.onNewIntent 内接收NFC发给你的卡片信息

```public String processIntent(Intent intent) {String data = null;Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);String[] techList = tag.getTechList();byte[] ID = new byte[20];data = tag.toString();ID = tag.getId();String UID = Utils.bytesToHexString(ID);String IDString = bytearray2Str(hexStringToBytes(UID.substring(2,UID.length())), 0, 4, 10);data += "\n\nUID:\n" + UID;data += "\n\nID:\n" + IDString;data += "\nData format:";for (String tech : techList) {data += "\n" + tech;}data += "\nwg26status:-->" + PosUtil.getWg26Status(Long.parseLong(IDString)) + "\n";data += "wg34status:-->" + PosUtil.getWg34Status(Long.parseLong(IDString)) + "\n";return data;}

## 结论要接收到刷卡信息,只要在AndroidManifest.xml内添加NFC权限,注意也要为你的Actvity添加 singleTask属性。然后,在你的Activity的onCreate/onResume/onPause/onNewIntent内,添加NFC代码,就能接收到刷卡信息。## 参考- 参考1: [Android NFC开发教程](c.biancheng.net/view/3202.html)