6.NFC之非NDEF格式
生活随笔
收集整理的這篇文章主要介紹了
6.NFC之非NDEF格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先看流程圖
使用步驟:
第一步:聲明權限
<!-- 允許應用程序使用NFC功能 --> <uses-permission android:name="android.permission.NFC" />第二步:Activity設置能攔截的NFC tag,不需要攔截ACTION_NDEF_DISCOVERED類型的NDEF標簽,標題說了攔截非NDEF的tag? ? ?
其中,nfc_tech_filter.xml在res的xml文件夾中(沒有該文件夾則創建該文件夾)
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><tech-list><tech>android.nfc.tech.IsoDep</tech></tech-list><!-- 以下只是顯示怎么添加多個nfc支持類 --><tech-list><tech>android.nfc.tech.NfcV</tech></tech-list><tech-list><tech>android.nfc.tech.NfcF</tech></tech-list></resources> View Code?第三步:在攔截的Aty中
private NfcAdapter nfcAdapter; // NFC適配器// 獲取默認的NFC控制器,并進行判斷 nfcAdapter = NfcAdapter.getDefaultAdapter(this); if (nfcAdapter == null) { Log.d("h_bl", "設備不支持NFC!"); finish(); return; } if (!nfcAdapter.isEnabled()) { Toast.makeText(getApplicationContext(), "請在系統設置中先啟用NFC功能!", Toast.LENGTH_SHORT).show(); Log.d("h_bl", "請在系統設置中先啟用NFC功能!"); return; } Intent intent = this.getIntent(); // 捕獲NFC Intent praseIntent(intent);
解析Intent
private void praseIntent(Intent intent) {String nfcAction = intent.getAction(); // 解析該Intent的Actionif (NfcAdapter.ACTION_TECH_DISCOVERED.equals(nfcAction)) {Log.d("h_bl", "ACTION_TECH_DISCOVERED");Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); // 獲取Tag標簽,既可以處理相關信息for (String tech : tag.getTechList()) {Log.d("h_bl", "該tag支持的tech=" + tech);}IsoDep isoDep = IsoDep.get(tag);String str = "";try {isoDep.connect(); // 連接if (isoDep.isConnected()) {Log.d("h_bl", "isoDep.isConnected"); // 判斷是否連接上// 1.首先初始化的時候你要先讀根目錄3F00byte[] ROOT_DIRECTORY={(byte)0x00,(byte)0xA4,(byte)0x00,(byte)0x00,(byte)0x02,(byte)0x3F,(byte)0x00,(byte)0x00};}} catch (IOException e) {e.printStackTrace();} finally {if (isoDep != null) {try {isoDep.close();} catch (IOException e) {e.printStackTrace();}}}}}解析過程:
1.解析該Intent的Action
2.獲取Tag標簽,既可以處理相關信息
3.創建相關的類進行處理
4.詳見IsoDep類的使用
?
還有一個前臺調度系統,詳見前臺調度系統的使用。
?
轉載于:https://www.cnblogs.com/H-BolinBlog/p/5481751.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的6.NFC之非NDEF格式的全部內容,希望文章能夠幫你解決所遇到的問題。