Android 5中的Android应用程序无法读取仿真的NFC标签

时间:2015-09-23 13:44:03

标签: android arduino nfc hce

我正在使用NFC屏蔽(型号:PN532 RFID / NFC Shield),它可以读取在Android手机上模拟的NFC标签(使用HCE主机卡仿真)。读取标签后,NFC屏蔽模拟标签,以便手机上的应用程序可以读取它。我编写了一个模拟NFC标签并等待NFC标签/消息的Android应用程序。此过程适用于Android 4.4,但不适用于Android 5及更高版本。手机要么看不到标签(由NFC屏蔽模拟的标签),要么说它不受支持(标签应该支持看到它是普遍支持的标签)。

在我的清单中,我有以下意图:

<intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="text/plain" />
</intent-filter>

在我的oncreate方法中,我使用以下代码:

    mAdapter = NfcAdapter.getDefaultAdapter(this);

    pendingIntent = PendingIntent.getActivity(
            this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
    IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    try {
        ndef.addDataType("text/plain");    /* Handles all MIME based dispatches.
                                   You should specify only the ones that you need. */
    }
    catch (IntentFilter.MalformedMimeTypeException e) {
        throw new RuntimeException("fail", e);
    }
    intentFiltersArray = new IntentFilter[] {ndef, };

    this.onNewIntent(this.getIntent());

这是正确的还是我需要为Android 5及其他实现不同的实现?

0 个答案:

没有答案