0

我有一个 Android 活动,当与 NFC 标签接触时会调用某个函数。我想为此创建测试。

在我的测试文件中,我的逻辑如下:

// Create a ACTION_TAG_DISCOVERED
// Respond to ACTION_TAG_DISCOVERED
public void testNfc(){

}

在我的代码中,我有一个回调函数“onNewIntent”,它查看在接近 NFC 标签时创建的意图:

protected void onNewIntent(Intent intent) {
    if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { ... }

但是,在我的测试代码中,我无法创建 ACTION_TAG_DISCOVERED 的 Intent。我看了这里的课。

如何创建ACTION_TAG_DISCOVERED意图以便进行测试?沿着这条线的某处:

Intent nfcIntent = new Intent(Intent.ACTION_TAG_DISCOVERED)
if(nfcIntent == ACTION_TAG_DISCOVERED)
assertSomeMethod("functionWhichHandlesNFCTagDiscovered")

非常感谢!

4

2 回答 2

1

尝试使用这个:ACTION_TAG_DISCOVERED

我还没有测试过,但是如果你像这样做一个 Intent :

Intent intent = new Intent(NfcAdapter.ACTION_TAG_DISCOVERED);
intent.putExtra(NfcAdapter.EXTRA_TAG, "");
...
intent.putByteArrayExtra(NfcAdapter.EXTRA_ID);
//etc.

你也许可以做你所描述的。

于 2012-09-04T23:22:13.107 回答
0

您需要扫描物理设备上的标签 - 据我所知,模拟器不支持 NFC。

于 2012-08-30T12:07:57.790 回答