안드로이드 개발 질문/답변
(글 수 45,052)
public void onActivityResult(int requestCode, int responseCode, Intent i) {
Locale locale = null;
NdefRecord tempRecord = null;
byte[] empty = new byte[] {};
super.onActivityResult(requestCode, responseCode, i);
//Back 버튼을 누르 sub-Activity 클래스에서 RESULT_CANCELED 값을 반환한다
if (responseCode != Activity.RESULT_CANCELED) {
//NdefRecord 필드는 (NFC TNF, RTD TYPE, ID, PAYROAD) 형식으로 구성된다
//RTD TYPE 필드는 각 레코드마다 처리를 달리한다
//ID 필드는 대부분의 경우에 아직 특별한 용도가 없기 때문에 일단 항상 0으로 설정해 둔다
//PAYLOAD 필드는 NFC Forum 표준에 따른 서브 필드들로 구성해서 채워야 한다
switch (requestCode) {
.....
case Common.AAR :
if (responseCode == Common.RESPONSE_OK) {
//인텐트에서 데이터 추출
String aar = i.getStringExtra("AAR");
Log.d(Common.TAG, aar);
byte[] urlBytes = aar.getBytes(Charset.forName("UTF_8"));
//byte[] urlId = new byte[0];
//Absolute URL 레코드 생성
tempRecord = new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI, urlBytes, new byte[0], urlBytes);
}
else if (responseCode == Common.RESPONSE_NOK) {
tempRecord = new NdefRecord(NdefRecord.TNF_UNKNOWN, empty, empty, empty);
}
}
}
}
여기서 AAR이라는 타입을 온크리에이트에있는
else if (ndefRecord1 != null) {
Log.d(Common.TAG, "One Record");
if(ndefRecord1.getType().equals(Common.URL)){
ndefMessage = new NdefMessage(new NdefRecord[] {ndefRecord1, NdefRecord.createApplicationRecord("com.qnsolv.nfc.md")});
}else{
Log.e("", "" + ndefRecord1.getType());
}
}
이부분 이부분중에서도
if(ndefRecord1.getType().equals(Common.URL))
이부분에 타입이 무엇인지 AAR말고도 URL TEXT 많은 타입들이있는대 어떤타입인지 구분하는방법좀 질문드립니다.