日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android近场通信---NFC基础(二)(转)

發布時間:2023/11/30 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android近场通信---NFC基础(二)(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自?http://blog.csdn.net/think_soft/article/details/8171256

?

應用程序如何調度NFC標簽

當標簽調度系統完成對NFC標簽和它的標識信息封裝的Intent對象的創建時,它會把該Intent對象發送給感興趣的應用程序。如果有多個應用程序能夠處理該Intent對象,就會顯示Activity選擇器,讓用戶選擇Activity。標簽調度系統定義了三種Intent對象,以下按照由高到低的優先級列出這三種Intent對象:

1.? ACTION_NDEF_DISCOVERED:這種Intent用于啟動包含NDEF負載和已知類型的標簽的Activity。這是最高優先級的Intent,并且標簽調度系統在任何其他Intent之前,都會盡可能的嘗試使用這種類型的Intent來啟動Activity。

2.? ACTION_TECH_DISCOVERED:如果沒有注冊處理ACTION_NDEF_DISCOVERED類型的Intent的Activity,那么標簽調度系統會嘗試使用這種類型的Intent來啟動應用程序。如果被掃描到的標簽包含了不能被映射到MIME類型或URI的NDEF數據,或者沒有包含NDEF數據,但是是已知的標簽技術,那么也會直接啟動這種類型的Intent對象(而不是先啟動ACTION_NDEF_DISCOVERED類型的Intent)

3.? ACTION_TAB_DISCOVERED:如果沒有處理ACTION_NDEF_DISCOVERED或ACTION_TECH_DISCOVERED類型Intent的Activity,就會啟動這種類型的Intent。

?

標簽調度系統的基本工作方法如下:

1.? 用解析NFC標簽時由標簽調度系統創建的Intent對象(ACTION_NDEF_DISCOVERED或ACTION_TECH_DISCOVERED)來嘗試啟動Activity;

2.? 如果沒有對應的處理Intent的Activity,那么就會嘗試使用下一個優先級的Intent(ACTION_TECH_DISCOVERED或ACTION_TAG_DISCOVERED)來啟動Activity,直到有對應的應用程序來處理這個Intent,或者是直到標簽調度系統嘗試了所有可能的Intent。

3.? 如果沒有應用程序來處理任何類型的Intent,那么就不做任何事情。

圖1.標簽調度系統

在可能的情況下,都會使用NDEF消息和ACTION_NDEF_DISCOVERED類型的Intent來工作,因為它是這三種Intent中最標準的。這種Intent與其他兩種Intent相比,它會允許你在更加合適的時機來啟動你的應用程序,從而給用戶帶來更好的體驗。

?

在Android的Manifest中申請NFC訪問

在訪問設備的NFC硬件和正確的處理NFC的Intent之前,要在AndroidManifest.xml文件中進行以下聲明:

1.? 在<uses-permission>元素中聲明訪問NFC硬件:

<uses-permission android:name="android.permission.NFC" />

2.? 你的應用程序所支持的最小的SDK版本。API Level 9只通過ACTION_TAG_DISCOVERED來支持有限的標簽調度,并且只能通過EXTRA_NDEF_MESSAGES來訪問NDEF消息。沒有其他的標簽屬性或I/O操作可用。API Level 10中包含了廣泛的讀寫支持,從而更好的推動了NDEF的應用前景,并且API Leve 14用Android Beam和額外的方便的創建NDEF記錄的方法,向外提供了更容易的把NDEF消息推送給其他設備的方法。

<uses-sdkandroid:minSdkVersion="10"/>

3.? 使用uses-feature元素,在Google Play中,以便你的應用程序能夠只針對有NFC硬件的設備來顯示。

<uses-featureandroid:name="android.hardware.nfc"android:required="true"/>

如果你的應用程序使用了NFC功能,但是相關的功能又不是你的應用程序的關鍵功能,你可以忽略uses-feature元素,并且要在運行時通過調用getDefaultAdapter()方法來檢查NFC是否有效。

轉載于:https://www.cnblogs.com/SamuelSun/p/4517543.html

總結

以上是生活随笔為你收集整理的Android近场通信---NFC基础(二)(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。