在Android上阅读标记时间

时间:2013-11-09 18:19:35

标签: android tags nfc

我正在使用一些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发现声音到完成阅读的时间。 我做错了什么?

1 个答案:

答案 0 :(得分:2)

当您获得ACTION_NDEF_DISCOVERED意图时,标签已被阅读。

intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)的调用或多或少只是一个很简单的getter函数。

应用程序无法测量从标记检测声音到意图调用的时间。