Created
January 15, 2022 23:17
-
-
Save Gnzlt/e14da859216b95b81ba2501e9948f68b to your computer and use it in GitHub Desktop.
Android NFC Tag Lifecycle Observer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example | |
import android.app.Activity | |
import android.nfc.NfcAdapter | |
import android.nfc.Tag | |
import androidx.lifecycle.DefaultLifecycleObserver | |
import androidx.lifecycle.LifecycleOwner | |
class NfcTagLifecycleObserver( | |
private val activity: Activity, | |
private val callback: (Tag?) -> Unit | |
) : DefaultLifecycleObserver { | |
private val adapter = NfcAdapter.getDefaultAdapter(activity) | |
override fun onResume(owner: LifecycleOwner) { | |
adapter.enableReaderMode(activity, callback::invoke, NfcAdapter.FLAG_READER_NFC_A, null) | |
} | |
override fun onPause(owner: LifecycleOwner) { | |
adapter.disableReaderMode(activity) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment