2013-03-14 67 views
1

我目前正在开发一个android应用程序,它将在Mifare卡上写一个小文本。 我试图编写一个应用程序,但代码不起作用。有人知道我必须在Android Manifest上编写什么? 这是我的代码,如果有人能帮助我,它会非常友善。非常感谢用我们自己的Android应用程序写在MifareClassic卡上

public static final标签CREATOR = null;

public void ecrirenfc(Tag tag) { 

    MifareClassic mfc = MifareClassic.get(tag); 

    try { 
     mfc.connect(); 
     boolean auth = false; 

     auth = mfc.authenticateSectorWithKeyA(1, MifareClassic.KEY_DEFAULT); 

     if (auth) { 
      String text = "Hello, World!"; 
      byte[] value = text.getBytes(); 
      byte[] toWrite = new byte[MifareClassic.BLOCK_SIZE]; 

      for (int i = 0; i < MifareClassic.BLOCK_SIZE; i++) { 
       if (i < value.length) 
        toWrite[i] = value[i]; 
       else 
        toWrite[i] = 0; 
      } 

      mfc.writeBlock(1, toWrite); 
     } 

    } catch (IOException e) { 
    } 
} 

public void onClick(View view) { 
    if (view.getId() == R.id.button1) { 
     ecrirenfc(CREATOR); 
    } 
} 
+0

你考虑使用NDEF格式,而不是你自己的,自产自销的写入扇区0? – ThomasRS 2013-03-14 21:05:14

回答

2

您需要使用

方法来确定该部门的第一个块。然后使用

getBlockCountInSector(int sectorIndex) 

以确定有多少块(-1),你可以写信给该部门。

为了您上面的代码,你想,当你已经认证部门一