Android NFC TECH_DISCOVERED与前台调度程序

时间:2011-04-12 13:39:37

标签: android

我在Android中编写NFC应用程序,在编写标签时遇到了一些问题。我已经能够写一个标签,但为了做到这一点,我使用清单中的intent-filters检测它。但是,我想要做的是使用前台调度程序直接使用应用程序处理标记。我可以使用前台调度程序“捕获”NDEF_DISCOVERED标记,但我不知道如何以相同的方式使用TECH_DISCOVERED。

此代码适用于NDEF_DISCOVERED:

    // Setup an intent filter for all MIME based dispatches
    IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    try {
        ndef.addDataType("*/*");
   } catch (MalformedMimeTypeException e) {
        throw new RuntimeException("fail", e);
    }
   mFilters = new IntentFilter[] {
            ndef,
    };

    // Setup a tech list for all NfcF tags
    mTechLists = new String[][] { new String[] { NfcF.class.getName() } };

但是我应该怎样做TECH_DISCOVERED ????我正在尝试这个并且它不起作用:

    IntentFilter ntech = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);


   mFilters = new IntentFilter[] {
            ntech,
    };

    // Setup a tech list for all NfcF tags
    mTechLists = new String[][] { new String[] { NfcF.class.getName() } };
}

1 个答案:

答案 0 :(得分:0)

我希望你能自己想出来。 但是,对于没有这样做的人: 您应在mTechLists中指定适当的标记技术,您希望处理该标记技术。无需更改意图过滤器以指定ACTION_TECH_DISCOVERED,它应该与ACTION_NDEF_DISCOVERED一起正常工作。 干杯!!