Notice
Recent Posts
Recent Comments
Link
투케이2K
37. (AndroidStudio/android/java) NfcAdapter 객체를 사용해 NFC 지원 여부 및 활성, 비활성 확인 실시 본문
Android
37. (AndroidStudio/android/java) NfcAdapter 객체를 사용해 NFC 지원 여부 및 활성, 비활성 확인 실시
투케이2K 2021. 1. 28. 12:52/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
//================== [AndroidManifest.xml 네트워크 연결 상태 확인 퍼미션] ==================
<uses-permission android:name="android.permission.NFC"/>
//================== [NFC 상태 확인 위한 전역 변수 선언 실시] ==================
public static final String NFC_DISABLE = "DISABLE";
public static final String NFC_ACTIVE = "ACTIVE";
public static final String NFC_INACTIVE = "INACTIVE";
//================== [NFC 상태 확인 메소드 호출] ==================
String nfcState = getNfcState(); //TODO NFC 상태 확인 메소드 호출
if(nfcState.equals(NFC_DISABLE)){ //TODO NFC 지원하지 않는 기기인 경우
Toast.makeText(getApplication(),"NFC 지원하지 않는 기기입니다",Toast.LENGTH_SHORT).show();
}
else if(nfcState.equals(NFC_INACTIVE)){ //TODO NFC 비활성 상태인 경우
Toast.makeText(getApplication(),"NFC 기능이 비활성 상태입니다",Toast.LENGTH_SHORT).show();
}
else if(nfcState.equals(NFC_ACTIVE)){ //TODO NFC 활성 상태인 경우
Toast.makeText(getApplication(),"NFC 기능이 활성 상태입니다",Toast.LENGTH_SHORT).show();
}
//================== [NFC 상태 확인 메소드] ==================
public String getNfcState(){
try {
Log.d("---","---");
Log.d("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > getNfcState() 메소드 : NFC 지원 여부 및 활성, 비활성 확인 실시]");
Log.d("//===========//","================================================");
Log.d("---","---");
/**
* [확인 방법]
* 1. NFC 상태 권한을 획득 실시 - AndroidManifest.xml : <uses-permission android:name="android.permission.NFC"/>
* 2. NfcAdapter 객체를 사용해 NFC 지원 여부 및 활성, 비활성 확인 실시
* 3. NFC 지원하지 않는 기기 리턴 값 - DISABLE
* 4. NFC 비활성 경우 리턴 값 - INACTIVE
* 5. NFC 활성인 경우 리턴 값 - ACTIVE
*/
NfcAdapter nfcAdapter = null;
nfcAdapter = NfcAdapter.getDefaultAdapter(getApplication());
if(nfcAdapter == null){ //TODO NFC를 지원하지 않는 기기인지 확인
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > 블루투스 지원 기기 확인 : 지원하지 않는 모바일 기기]");
Log.e("//===========//","================================================");
Log.d("---","---");
return NFC_DISABLE;
}
else { //TODO NFC가 켜져있는지 확인 [NFC 지원 기기]
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > NFC 지원 기기 확인 : 지원하는 모바일 기기]");
Log.w("//===========//","================================================");
Log.d("---","---");
if(nfcAdapter.isEnabled() == true){
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > NFC 기능 활성 확인 : 활성 상태]");
Log.w("//===========//","================================================");
Log.d("---","---");
return NFC_ACTIVE;
}
else {
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > NFC 기능 활성 확인 : 비활성 상태]");
Log.e("//===========//","================================================");
Log.d("---","---");
return NFC_INACTIVE;
}
}
}
catch (Exception e){
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[A_Nfc > NFC 지원 기기 확인 : 지원하지 않는 모바일 기기]");
Log.d("","\n"+"[Catch 메시지 : "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.d("---","---");
return NFC_DISABLE;
}
}
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[요약 설명]
* 1. NFC 상태 권한을 획득 실시 - AndroidManifest.xml : <uses-permission android:name="android.permission.NFC"/>
* 2. NfcAdapter 객체를 사용해 NFC 지원 여부 및 활성, 비활성 확인 실시
* 3. NFC 지원하지 않는 기기 리턴 값 - DISABLE
* 4. NFC 비활성 경우 리턴 값 - INACTIVE
* 5. NFC 활성인 경우 리턴 값 - ACTIVE
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments