如何在 Android 中将 NFC 标签设置为只读?
How to make NFC tag read-only in Android?
我在锁定 NFC 标签时遇到问题。我的代码如下:
public void makeReadOnly(Tag tag) {
if (tag == null) {
Log.e("tag", "Tag Is Null");
return;
}
try {
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
Log.e("eeeeeee111111", "New1111");
ndef.connect();
if(ndef.canMakeReadOnly()){
ndef.canMakeReadOnly();
Log.e("Read Only", "Read Only");
}
Log.e("Lock.......", "Lock.......");
// ndef.canMakeReadOnly();
ndef.close();
// Log.e("22222.......", "2222.......");
}
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("EEEEEEEEEEEEE", e.toString());
e.printStackTrace();
}
}
它根本没有显示任何错误。但不锁定 NFC 标签。
canMakeReadOnly()
只需 returns 如果标签可以设为只读。使用 makeReadOnly()
实际这样做(猜想这是一个简单的疏忽)。
替换以下内容:
if(ndef.canMakeReadOnly()){
ndef.canMakeReadOnly();
Log.e("Read Only", "Read Only");
}
有了这个:
if(ndef.canMakeReadOnly()){
ndef.makeReadOnly();
Log.e("Read Only", "Read Only");
}
我在锁定 NFC 标签时遇到问题。我的代码如下:
public void makeReadOnly(Tag tag) {
if (tag == null) {
Log.e("tag", "Tag Is Null");
return;
}
try {
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
Log.e("eeeeeee111111", "New1111");
ndef.connect();
if(ndef.canMakeReadOnly()){
ndef.canMakeReadOnly();
Log.e("Read Only", "Read Only");
}
Log.e("Lock.......", "Lock.......");
// ndef.canMakeReadOnly();
ndef.close();
// Log.e("22222.......", "2222.......");
}
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("EEEEEEEEEEEEE", e.toString());
e.printStackTrace();
}
}
它根本没有显示任何错误。但不锁定 NFC 标签。
canMakeReadOnly()
只需 returns 如果标签可以设为只读。使用 makeReadOnly()
实际这样做(猜想这是一个简单的疏忽)。
替换以下内容:
if(ndef.canMakeReadOnly()){
ndef.canMakeReadOnly();
Log.e("Read Only", "Read Only");
}
有了这个:
if(ndef.canMakeReadOnly()){
ndef.makeReadOnly();
Log.e("Read Only", "Read Only");
}