2012-02-24 23 views
1

我一直在試圖找到一種方法來實例化標籤對象。我試圖做到這一點,以便我可以模擬各種類型的標籤。如何在android中創建標籤對象?

有誰知道如何使用

Tag tag = ????? 
UltraLight obj = UltraLight.get(tag); 

謝謝

回答

2

的集成電路芯片的源代碼中的NFC應用例子讓超輕對象的實例,我們可以找到一些代碼,如:

Bundle extras = new Bundle(); 
extras.putParcelable(Ndef.EXTRA_NDEF_MSG, ndefMsg); 
extras.putInt(Ndef.EXTRA_NDEF_MAXLENGTH, 0); 
extras.putInt(Ndef.EXTRA_NDEF_CARDSTATE, Ndef.NDEF_MODE_READ_ONLY); 
extras.putInt(Ndef.EXTRA_NDEF_TYPE, Ndef.TYPE_OTHER); 
Tag tag = Tag.createMockTag(new byte[] { 0x00 }, 
    new int[] { TagTechnology.NDEF }, 
    new Bundle[] { extras }); 

createMockTag方法的代碼如下:

public static Tag createMockTag(byte[] id, int[] techList, Bundle[] techListExtras) { 
    // set serviceHandle to 0 to indicate mock tag 
    return new Tag(id, techList, techListExtras, 0, null); 
} 

也許這可能有幫助。

+0

謝謝,我會試試看,從頭腦裏看,我不明白它是如何工作的,因爲沒有類似於Tag類的構造函數嗎? – gaara87 2012-02-25 10:27:16

+0

我檢查了源代碼。該函數不能被調用! :/ – gaara87 2012-02-27 06:37:45

+0

你說得對。也許還有一個想法:當使用Tag類時,我們可以使用其名爲[CREATOR]的常量(http://developer.android.com/reference/android/nfc/Tag.html#CREATOR)。這個返回一個對象[Creator ](http://developer.android.com/reference/android/os/Parcelable.Creator.html)。這樣的對象有一個方法[createFromParcel(Parcel)](http://developer.android.com/reference/android/os/Parcelable.Creator.html#createFromParcel%28android.os.Parcel%29)可以幫助。 – 2012-02-27 08:19:18

相關問題