마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

2개의 NFC 태그를 통해서 1개의 어플로 2개의 액티비티를 실행할수 있을까요?

0 추천

2개의 NFC카드와 1개의 안드로이드 어플을 가지고

핸드폰을 1번 NFC카드에 태그를 하면 어플이 실행되고 1번 액티비티만 호출이 되서 실행이 되고

2번은 작동안되게 하고

핸드폰을 2번 NFC카드에 태그를 하면 어플이 실행되고 2번 액티비티만 호출이 되서 실행이 되고

1번은 작동안되게 하는 어플을 구상하고 싶은데...

 

가능한 방법인가요?

현재는 위와 같이 1번 NFC 카드로 1번 앱을 실행하고

2번 NFC 카드로 2번 앱을 실행해서 처리 하게 만들어져 있습니다..

2개의 어플을 합쳐서.. 1개의 어플로 2개의 NFC 태그를 입력받아 각각 액티비티를 다르게 해서 실행하고 싶습니다.

맘여리노앙자 (480 포인트) 님이 4월 25일 질문

1개의 답변

0 추천
 
채택된 답변

제가 NFC는 잘 모르지만 안드로이드 문서를 보면 액티비티의 onNewIntent에서 체크가 가능한 것으로 보입니다.
 

class MainActivity : AppCompatActivity() {

    private var nfcAdapter: NfcAdapter? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        nfcAdapter = NfcAdapter.getDefaultAdapter(this)

        if (nfcAdapter == null) {
            Toast.makeText(this, "NFC is not available", Toast.LENGTH_LONG).show()
            finish()
            return
        }
    }

    override fun onNewIntent(intent: android.content.Intent?) {
        super.onNewIntent(intent)

        if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent?.action) {
            val rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
            val message = rawMessages[0] as NdefMessage
            val payload = message.records[0].payload
            val text = String(payload)
           // 카드 구분 처리
           // if (isFirstCard) showFirstActivity() else showSecondActivity()
        }
    }
}


테스트가 된 코드가 아니니 그대로 사용하지는 마시기 바랍니다. 개발자 문서를 참고하시면 충분히 처리가 가능하시리라 생각합니다. https://developer.android.com/develop/connectivity/nfc

spark (227,830 포인트) 님이 4월 26일 답변
맘여리노앙자님이 5일 채택됨
...