Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
get(tag)在Android中返回null-Mifare支持_Android_Nfc_Mifare - Fatal编程技术网

get(tag)在Android中返回null-Mifare支持

get(tag)在Android中返回null-Mifare支持,android,nfc,mifare,Android,Nfc,Mifare,1.ndef返回的对象总是null Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); Log.d(TAG, "onNewIntent: "+intent.getAction()); Toast.makeText(this, getString(R.string.message_tag_detected), Toast.LENGTH_SHORT).show(); Ndef ndef = Nd

1.
ndef
返回的对象总是null

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
    Log.d(TAG, "onNewIntent: "+intent.getAction());       
    Toast.makeText(this, getString(R.string.message_tag_detected), Toast.LENGTH_SHORT).show();

    Ndef ndef = Ndef.get(tag);
    ndef.connect();

标记
对象返回为

TAG: Tech [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]
2.我有一张嵌入NFC的阿联酋居民身份证,这个代码可以用来扫描吗?是米法雷吗

3.在playstore上使用NFC TagInfo应用程序,扫描结果会发出警告

您的设备不支持Mifare Classic

4.android是否完全支持Mifare?我无法在线找到源代码。

  • Ndef对象是由包含
    android.nfc.tech.Ndef
    由于您使用的卡没有这个,因此,对象总是空的。 试着用一张在techlist中有
    android.nfc.tech.Ndef
    的卡,你会得到这个对象

  • 您可以通过techlist in标签检查设备是否为mifare。查找
    android.nfc.tech.MifareClassic
    ,其中包含此技术的卡是MifareClassic卡

  • 要读取和写入Mifare经典卡,您的设备必须具有nxp ic(NFC主要用于所有RFID芯片,但您需要nxp用于Mifare)。 您可以通过以下代码检查设备是否具有nxp ic:

    getPackageManager().hasSystemFeature("com.nxp.mifare");
    
  • 是的,Andriod为Mifare经典卡提供全面支持。我知道这方面没有直接的代码,因为我以前就遇到过这种情况。 但是代码是可用的,您可以检查所有NFC卡的谷歌代码,并在此处提取您需要的卡类型:

  • 或者访问我的存储库,获取准确的工作代码,以扫描Mifare经典卡:

    是否有此更新?尚未更新…是否能够使用NFC从阿联酋航空ID读取任何数据?