2011-04-12 2 views
0

Android에서 NFC 애플리케이션을 프로그래밍 중이며 태그를 작성할 때 약간의 문제가 있습니다. 태그를 작성할 수 있었지만이를 수행하기 위해 매니페스트의 인 텐트 필터를 사용하여 태그를 탐지합니다. 그러나 포어 그라운드 발송자를 사용하여 응용 프로그램에서 태그를 직접 처리하는 것이 좋습니다. 포어 그라운드 디스패처로 NDEF_DISCOVERED 태그를 "catch"할 수는 있지만 같은 방법으로 TECH_DISCOVERED를 사용하는 방법을 알지 못합니다.전경 운영자와 함께 Android NFC 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() } }; 
} 

답변

0

나는 너 혼자서 생각했을 것이다. 그러나 그렇지 않은 사람들을 위해 : mTechLists에서 처리 할 것으로 예상되는 적절한 태그 기술을 지정해야합니다. ACTION_TECH_DISCOVERED를 지정하기 위해 의도 필터를 변경할 필요가 없으므로 ACTION_NDEF_DISCOVERED와 함께 잘 작동합니다. 건배 !!