0

NFCタグと接触すると特定の関数を呼び出すAndroidアクティビティがあります。そのためのテストを作成したいと思います。

私のテストファイルでは、私のロジックは次のとおりです。

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

}

私のコードには、NFCタグの近くにあるときに作成されたインテントを調べるコールバック関数「onNewIntent」があります。

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

しかし、私のテストコードでは、ACTION_TAG_DISCOVEREDのインテントを作成できません。ここでクラスを見ました。

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 = 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 に答える