android 2 3 3近場通信nfc翻譯_第1頁
android 2 3 3近場通信nfc翻譯_第2頁
android 2 3 3近場通信nfc翻譯_第3頁
android 2 3 3近場通信nfc翻譯_第4頁
android 2 3 3近場通信nfc翻譯_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Android2.3.3近場通信NFC13.56MHz,106kbit/s848kbit/sNFC總是在一個(gè)發(fā)起者和一個(gè)被動(dòng)NFCtagsActivity來處理Android2.3.3還有支持有限的P2P。Tagstags可以APItags的提醒發(fā)送到你的Activity.并提供方法去推送是當(dāng)前android版本唯一支持的p2pNFC通信方讀到的數(shù)據(jù)。一個(gè)NdefMessage對(duì)象包含0或多個(gè)URL,智慧型海報(bào)/廣告,或其他MIME數(shù)據(jù)。在NDEFMessage里的第一個(gè)NfcRecord的類型用來發(fā)送tag到一個(gè)android設(shè)備上的activity.甚至是一個(gè)電話模擬的的NFC卡.當(dāng)一個(gè)tag被檢測到,一個(gè)tag對(duì)象將被創(chuàng)建并且封裝到一個(gè)Intent里,然后NFC發(fā)布系統(tǒng)將這個(gè)Intent用startActivity發(fā)送到注冊(cè)了接受這種Intentactivity里。你可以用getTechList()方法來得到這個(gè)tag支持的技術(shù)細(xì)節(jié)和創(chuàng)建一個(gè)android.nfc.tech提供的相應(yīng)的TagTechnology對(duì)象。支持ISO14443-3A標(biāo)準(zhǔn)的操作。Provides支持ISO14443-3A標(biāo)準(zhǔn)的操作。ProvidesaccesstoNFC-AISO14443-3A)propertiesandI/Ooperations.ProvidesaccesstoNFC-B(ISO14443-3B)propertiesandI/OProvidesaccesstoNFC-F(JIS6319-4)propertiesandI/OProvidesaccesstoNFC-V(ISO15693)propertiesandI/OProvidesaccesstoISO-DEP(ISO14443-4)propertiesandI/ONDEFtag的數(shù)據(jù)的訪問和其他操作。ProvidesaccesstoNDEFdataandoperationsonNFCtagsthathavebeenformattedasNDEF.如果android設(shè)備支持MIFAREMIFAREClassic目標(biāo)的屬性和I/O操作。如果android設(shè)備支持MIFAREMIFAREUltralight目標(biāo)的屬性和I/O操作。最小SDK版本需要設(shè)置正確,APIlevel9tag支持,<uses-sdk所以你可能想要用APIlevel10<uses-sdkrue"<action<action<action<actionandroid:resource="@xml/nfc_tech_filter.xml"/><actionandroid設(shè)備掃描到一個(gè)NFCtag,通用的行為是自動(dòng)找最合適的Activity會(huì)處理這個(gè)tagIntent而不需要用戶來選擇哪個(gè)Activity來處理。因?yàn)樵O(shè)備掃描NFCtags是在很短的范圍和時(shí)NFCtag是否是你的Activity想要處理的:Intent發(fā)布系統(tǒng)和前臺(tái)Activity發(fā)布系統(tǒng)。Intent發(fā)布系統(tǒng)檢查所有Activities的intentfilterstagActivity,如果有多個(gè)ActivitytagIntentActivity選擇器來讓用戶選擇使用哪個(gè)Activity。用戶選擇之后,將使用選擇的Activity來處理此Intent.前臺(tái)發(fā)布系統(tǒng)允許一個(gè)ActivityIntenttagIntent,這要求你將要是否支持處理此IntentIntent傳給此ActivityIntent使用IntentIntent3個(gè)intenttag被檢測到之后,Intent就被<action android.nfc.action.NDEF_DISCOVERED這個(gè)intentNDEF負(fù)載的tag被檢測到時(shí)啟動(dòng),這是最高優(yōu)先級(jí)的intent,android系統(tǒng)不會(huì)讓你指定一個(gè)Intent能處理所<action包含NDEF負(fù)載的tag被檢測到,此Intent就不會(huì)被啟動(dòng)。 android.nfc.action.TECH_DISCOVEREDNDEF_DISCOVEREDintent沒啟動(dòng)或者沒有一個(gè)Activityfilter檢測NDEF_DISCOVERED,并且此tag是已知的,那么此TECH_DISCOVEREDIntent將會(huì)啟動(dòng).TECH_DISCOVEREDintent要求你在一個(gè)資源文件里to:Specifyingtagtechnologiestohandle假如你的Activity在AndroidManifest.xml文件里聲明了處理并加上你的activitytechnologiestech-list集合里。這樣你的activity將被認(rèn)作能處理tech-listtagtechnology屬于你的定義的list里,你的Activity將接收此Intent。你可以用getTechList()來獲得tag支持的technologies。必須指定了其中的一項(xiàng)或者多項(xiàng)來保證你的Activity能處理此Intent。<resources<resources<resources<resources<resources<resources<actionandroid:resource<actionandroid:resource="@xml/nfc_tech_filter"/>前臺(tái)發(fā)布系統(tǒng)允許一個(gè)ActivitytagIntent獲得最高優(yōu)先級(jí)的處理,這種方式很容易使添加下列代碼到ActivityonCreatePendingIntentpendingIntent=this,0PendingIntentpendingIntent=this,0,newIntent(this,getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),0);IntentFilterndef=newIntentFilter(NfcAdapter.ACTION_NDEF_DISCOVtry /*HandlesallMIMEthatIntentFilterndef=newIntentFilter(NfcAdapter.ACTION_NDEF_DISCOVtry /*HandlesallMIMEthatyouneed.}catch(MalformedMimeTypeException{thrownewRuntimeException("fail",}intentFiltersArray=new{設(shè)置一個(gè)你程序要處理的TagtechnologiestechListsArraytechListsArray=newString[][]{newString[]{NfcF.class.getName()}};publicvoid{super.onPause();}publicvoidpublicvoid{super.onPause();}publicvoid{}}publicvoidonNewIntent(Intentintent)TagtagFromIntent=//dosomethingwith}SeetheForegroundDispatchsamplefromAPIDemosforthecomplete西時(shí),你必須以字節(jié)格式來寫。Android提供APINDEF標(biāo)準(zhǔn)的信息。使用此標(biāo)tag寫時(shí)能被所有AndroidNFCtag使用他們自著是一個(gè)完整的NDEF功能的介紹。但標(biāo)出了主要需要注意和使用的東西。不同的長度到同一個(gè)NdefMessage。NFCtag容量的限制決定你的NdefMessage的大小。比如純文本和智慧型海報(bào).NFCDemo例子里聲明了純文本和智慧型海報(bào)的NDef消息。NdefMessage[]getNdefMessages(Intentintent)//ParsetheintentNdefMessageNdefMessage[]getNdefMessages(Intentintent)//ParsetheintentNdefMessage[]msgs=null;Stringaction=Parcelable[]rawMsgs=intent.getParcelableArrayExtra(NfcAdaptif(rawMsgs!=null)msgs=newNdefMessage[rawMsgs.length];for(inti=0;i<rawMsgs.length;i++){msgs[i]=(NdefMessage)}}}else//Unknowntagbyte[]empty=newbyte[]NdefRecordrecord=newNdefRecord(NdefRecord.TNF_UNKNOWN,empty,empty,empty);NdefMessagemsg=newNdefMessage(newNdefRecord[]msgs=newNdefMessage[]}}elseLog.e(TAG,"Unknownintent"+intent);}return}NFCNdefFormatabletag=NdefFormatable.get(t);Localelocale=Locale.US;NdefFormatabletag=NdefFormatable.get(t);Localelocale=Locale.US;finalbyte[]langBytes=locale.getLanguage().getBytes(Charsets.US_ASStringtext="Tag,you'refinalbyte[]textBytes=text.getBytes(Charsets.UTF_8);finalintutfBit=0;finalcharstatus=(char)(utfBit+finalbyte[]data=Bytes.concat(newbyte[]{(byte)status},langBytes,textBytes);NdefRecordrecord=NdefRecord(NdefRecord.TNF_WELL_KNOWN,NdefRecord.RTD_TEXT,newbyte[0],data);tryNdefRecord[]records=NdefMessagemessage=newNdefMessage(records);}catchcatch(Excepti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論