Android表示正在实时扫描NFC标签

Android indicate NFC tag is being scanned realtime

我一直在寻找一种方法来指示我的应用当前正在读取标签。到目前为止,我只能一次获取所有数据。

当前场景: 我的应用程序打开,我在应用程序背面放置了一个标签,这触发了我的 ReaderCallback(参见代码片段)

public class NFCHandler extends Activity implements NfcAdapter.ReaderCallback {
    @Override
    public void onTagDiscovered(Tag tag) {
        StringBuilder build = new StringBuilder();
        for(byte b : tag.getId()){
            build.append(Byte.toString(b) + ".");
        }
        String ID = build.toString();
        ID = ID.substring(0,ID.length() - 1);
        Log.d("DSM","ID Loaded: " + ID);
    }
}

我想做的是:通过显示循环不确定的进度条,向用户表明 NFC 标签位于正确的位置。我已经准备好进度条的所有方面,我只需要一种触发它的方法。我知道这是可能的,因为有些应用程序已经这样做了,但遗憾的是,所有这些都是封闭源代码。

我也搜索过 android.nfc.tech.* android.nfc.* 但没有得到任何信息

这就是我想要实现的:

我乐于接受建议!提前致谢。

我自己偶然找到了解决方案。

使用:

void enableReaderMode (Activity activity, 
                NfcAdapter.ReaderCallback callback, 
                int flags, 
                Bundle extras)

并指定 FLAG_READER_SKIP_NDEF_CHECK 和 FLAG_READER_NFC_A 作为标志。

Source here