如何在 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");
}