我有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。我查看了课程here。
如何创建ACTION_TAG_DISCOVERED
意图以便我可以测试它?沿着这条线的某个地方:
Intent nfcIntent = new Intent(Intent.ACTION_TAG_DISCOVERED)
if(nfcIntent == ACTION_TAG_DISCOVERED)
assertSomeMethod("functionWhichHandlesNFCTagDiscovered")
非常感谢!
答案 0 :(得分:1)
尝试使用此:ACTION_TAG_DISCOVERED
我没有测试过它,但是如果你像这样制作一个Intent:
Intent intent = new Intent(NfcAdapter.ACTION_TAG_DISCOVERED);
intent.putExtra(NfcAdapter.EXTRA_TAG, "");
...
intent.putByteArrayExtra(NfcAdapter.EXTRA_ID);
//etc.
你可以做你所描述的事情。
答案 1 :(得分:0)
您需要扫描物理设备上的标签 - 据我所知,模拟器不支持NFC。