[android] 안드로이드 NFC 연결

안드로이드 앱에서 NFC(근거리 무선 통신)을 사용하여 다른 기기나 태그와 통신하고 싶다면 NFC 연결 기능을 구현해야 합니다. 안드로이드에서 NFC 연결을 구현하는 방법에 대해 알아봅시다.

NFC 기능 활성화

안드로이드 앱에서 NFC를 사용하려면 AndroidManifest.xml 파일에 다음과 같이 NFC 관련 퍼미션을 추가해야 합니다:

<uses-permission android:name="android.permission.NFC" />

또한, NFC 기능이 활성화되어 있는지 확인해야 합니다:

val nfcAdapter: NfcAdapter? = NfcAdapter.getDefaultAdapter(this)
if (nfcAdapter == null) {
    // NFC 지원되지 않음
} else {
    if (!nfcAdapter.isEnabled) {
        // NFC 비활성화 상태
    } else {
        // NFC 활성화됨
    }
}

NFC 태그 감지

NFC 기능을 사용하여 다른 기기나 NFC 태그와 상호 작용하려면 NFC 태그 감지 이벤트를 처리해야 합니다. 이를 위해 Foreground Dispatch System을 구현할 수 있습니다:

override fun onResume() {
    super.onResume()
    val pendingIntent = PendingIntent.getActivity(this, 0, Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0)
    val intentFilters = arrayOf(IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED))
    val techLists = arrayOf(arrayOf(NfcA::class.java.name), arrayOf(NfcB::class.java.name))
    nfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFilters, techLists)
}

override fun onPause() {
    super.onPause()
    nfcAdapter.disableForegroundDispatch(this)
}

NFC 통신

NFC 태그가 감지되면, 태그와 통신할 수 있습니다:

override fun onNewIntent(intent: Intent) {
    if (NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) {
        val tag = intent.getParcelableExtra<Tag>(NfcAdapter.EXTRA_TAG)
        // NFC 태그와 통신
    }
}

결론

이제 안드로이드 앱에서 NFC를 사용하여 다른 기기나 NFC 태그와 통신하는 방법에 대해 알아보았습니다. NFC 기능을 활성화하고, 태그를 감지하고, 통신하는 방법을 구현할 수 있습니다.

더 많은 정보는 Android Developer 사이트에서 확인할 수 있습니다.


이제 NFC 기능을 구현하는 방법에 대해 알게 되었을 때, 여러분은 안드로이드 앱에서 NFC를 사용하여 다른 기기나 NFC 태그와 통신할 수 있게 됩니다. 기대되는 결과에 대해 알려주세요!