투케이2K

18. (TWOK/ERROR) [Android] nfc 태그 인증 시 문제가 발생한 경우 - Nfc Service 본문

투케이2K 에러관리

18. (TWOK/ERROR) [Android] nfc 태그 인증 시 문제가 발생한 경우 - Nfc Service

투케이2K 2022. 4. 9. 20:15

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : nfc 태그 인증 시 문제가 발생한 경우 - Nfc Service

 

[에러 원인]

1. 안드로이드 NFC 통신에서 AID 값이 서로 일치하지 않은 경우

2. NFC 기능 자체가 비활성화 된 경우

3. NFC 기능에서 기본 모드로 설정되어 있지 않은 경우

4. 다른 앱 및 OS 시스템에서 NFC 기능이 충돌한 경우

 

[해결 방법]

1. 안드로이드 코드 내에서 AID 값 일치 여부 확인

        <!-- 서비스 : NFC에서 HCE(호스트 카드) 통신 -->
        <!-- 외부 리더기와 통신 설정을 위해 : android:exported="true" :: false 일 경우 리더기 응답 안됨 -->
        <service android:name=".Nfc_Service"
            android:exported="true"
            android:largeHeap="true"
            android:permission="android.permission.BIND_NFC_SERVICE">

            <!-- Intent filter 등록 카드 에뮬레이터 설정 -->
            <intent-filter>
                <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>

            <!-- aid 값 설정 실시 : aid 값을 통해서 디바이스와 매핑 인증 -->
            <meta-data android:name="android.nfc.cardemulation.host_apdu_service" android:resource="@xml/apduservice"/>
        </service>

<?xml version="1.0" encoding="utf-8"?>
<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:description="@string/app_name"
    android:requireDeviceUnlock="false">

    <!-- aid 설정 : 외부로부터 이 값을 이용하여 모바일로 들어온다 -->
    <aid-group android:description="@string/app_name" android:category="other">

        <!-- 외부 리더기도 같은 값으로 설정해야한다 -->
        <aid-filter android:name="D410000012345678494944" />

    </aid-group>

</host-apdu-service>

2. NFC 기능 활성화 체크 실시

3. 휴대폰 시스템 > 설정 > NFC 설정 > 기본 모드로 변경

4. 기존에 백그라운드 및 최근 앱 작업 목록에 표시된 앱 목록 제거 > 앱 재실행 > NFC 기능 비활성 후 다시 재활성

5. 고객센터 방문해서 디바이스 검진 및 기타 하드웨어 스펙 사양 확인 필요


반응형
Comments