스마트 카드 읽기가 완료되면 Android NFC 앱에 동일한 NFC 태그 정보가 다시 표시되고 작동 중 다시 시작됩니다. 체계. 실제로 휴대 전화를 옮기지 않으면 영구적 인 고리가됩니다. 읽는 데이터의 양은 1 ~ 2 초 정도 걸리므로 결국 다시 시작됩니다. 는 (이것은 내 갤럭시 S2 진저와 ICS 내 S3에 매우 일반적이다)NFC (스마트 카드)에 가까울 때 Android NFC 앱 루핑을 중지하는 방법
나는 그것이 NFC 소스 (스마트 카드)를 변경하지 않은 경우 반복 멀리 전화에서 이동하지 않은 중지하려면 어떻게?
내 활동의 인 텐트 필터가 있습니다
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
의 기술 목록
<intent-filter >
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.nfc.action.TAG_DISCOVERED" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc" />
을 소스 코드 :
@Override
protected void onCreate(Bundle savedInstanceState) {
resolveIntent(getIntent());
}
@Override
public void onNewIntent(Intent intent) {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
private void resolveIntent(Intent intent) {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final String action = intent.getAction();
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)
|| NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
....work
handled = true;
}
if (!handled) {
Log.e(tag, "Unknown intent " + intent);
finish();
return;
}
}
다시 감사합니다. NFC guy! 이 문제는 특정 전화기 및 특정 카드가 다른 사람이 그렇지 않을 때 보여 주었던 것처럼 매우 어려웠습니다. 내 해결책은 아래에 있습니다. 나는 전경 파견을 사용하고 ID를 읽는 것이 항상 신뢰할만한 것은 아니므로 다른 요청을 무시하기 위해 시간 지연을 사용해야했습니다. 두 번째 것이 무시되면 그것은 영원히 반복을 멈추는 것처럼 보였습니다! – paul