2016-09-04 24 views
0

NFCタグをロックするときに問題が発生します。私のコードは以下のようになります。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タグはロックされません。

答えて

0

canMakeReadOnly()は、タグを読み取り専用にできる場合のみ返します。実際にはmakeReadOnly()を使用してください(単純な見落としです)。これにより

if(ndef.canMakeReadOnly()){ 
    ndef.canMakeReadOnly(); 
    Log.e("Read Only", "Read Only"); 
} 

if(ndef.canMakeReadOnly()){ 
    ndef.makeReadOnly(); 
    Log.e("Read Only", "Read Only"); 
} 

次を交換してください

関連する問題