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 作为标志。
我一直在寻找一种方法来指示我的应用当前正在读取标签。到目前为止,我只能一次获取所有数据。
当前场景: 我的应用程序打开,我在应用程序背面放置了一个标签,这触发了我的 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 作为标志。