我正在使用一些NFC动作开发应用程序。现在我处理读取标记时间,从发现到完成数据读取。我认为应该很容易,所以我做了:
@Override
public void onNewIntent(final Intent intent) {
super.onNewIntent(intent);
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
startReadTime = System.currentTimeMillis(); // i am reading time if Tag is doscovered
new Thread(new Runnable() {
public void run() {
ReadContent(intent);
}
}).start();
}
}
阅读标签数据
private void ReadContent(Intent intent) {
NdefMessage[] messages = null;
Parcelable[] rawMsgs = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
final long stopReadTime = System.currentTimeMillis();//I am reading time when read is stopped
//rest of the code
......
}
但时间似乎并不可靠。我读了8K标签,用简单的秒表我可以看到它需要3秒钟,但是测量的时间戳只给我1-3毫秒。 我想测量从Android上的Tag发现声音到完成阅读的时间。 我做错了什么?
答案 0 :(得分:2)
当您获得ACTION_NDEF_DISCOVERED
意图时,标签已被阅读。
对intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
的调用或多或少只是一个很简单的getter函数。
应用程序无法测量从标记检测声音到意图调用的时间。