我有一些文档没有任何直观的例子
http://developer.android.com/reference/android/nfc/tech/NfcV.html
http://developer.android.com/reference/android/nfc/Tag.html
我需要声明NfcV
类型和Tag
类型的对象,但是当我尝试执行类似NfcV myNFCObject = new NfcV();
的操作时,IDE会说“构造函数NfcV不可见。所以我的下一个尝试看起来像NfcV myNFCObject = NfcV.getTag(new Tag());
,我得到错误“构造函数Tag()”不可见。
这就是我撞墙的地方,只是从查看两个文档链接,我看不到如何声明这些对象!怎么会这样做?
谢谢!
答案 0 :(得分:2)
首先,您必须创建一个实现TagTechnology接口的类。然后你可以用它来标记。
import java.io.IOException;
import android.nfc.Tag;
public class sampleTagTech implements android.nfc.tech.TagTechnology {
public void close() throws IOException {
// TODO Auto-generated method stub
}
public void connect() throws IOException {
// TODO Auto-generated method stub
}
public Tag getTag() {
// TODO Auto-generated method stub
return null;
}
public boolean isConnected() {
// TODO Auto-generated method stub
return false;
}
}
那么你可以像这样使用
NfcV nfcv = NfcV.get(new sampleTag().getTag());
答案 1 :(得分:0)
根据文档,您可以这样做:
NfcV object = NfcV.get(myTag)
此外,根据您提供的文档,myTag没有public
构造函数(这就是为什么您会收到错误消息,说明它可能是private
或protected
):
发现标记时,会创建一个Tag对象,并通过startActivity(Intent)通过Intent中的EXTRA_TAG extra传递给单个活动。
答案 2 :(得分:0)
当您在支持NFC的Android设备附近持有符合ISO15693标准时,Android系统会创建一个意图。此意图将包含标记的句柄。当您的应用收到意图时,它可以从那里检索它。有关如何在您的应用中接收NFC意图的详细解释,请参阅http://developer.android.com/guide/topics/nfc/nfc.html#filtering-intents。
在接收NFC意图的活动中,您可以像这样访问NfcV:
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcV nfcV = NfcV.get(tag);
if (nfcV != null) {
...
}