Notice
Recent Posts
Recent Comments
Link
투케이2K
10. (TWOK/UTIL) [Android/Java] C_StateCheck - 블루투스 , 위치 권한 , 네트워크 연결 상태 , NFC , 가속도 센서 활성 상태 확인 본문
투케이2K 유틸파일
10. (TWOK/UTIL) [Android/Java] C_StateCheck - 블루투스 , 위치 권한 , 네트워크 연결 상태 , NFC , 가속도 센서 활성 상태 확인
투케이2K 2022. 3. 21. 09:20[설 명]
프로그램 : Android / Java
설 명 : 블루투스 , 위치 권한 , 네트워크 연결 상태 , NFC , 가속도 센서 활성 상태 확인
[소스 코드]
package com.example.testapp;
import static android.content.Context.KEYGUARD_SERVICE;
import android.Manifest;
import android.app.KeyguardManager;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.nfc.NfcAdapter;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.core.app.ActivityCompat;
import java.lang.reflect.Method;
import java.util.Set;
public class C_StateCheck {
/**
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 모바일 기능 활성 , 비활성 체크 클래스
* 2. 블루투스 , 위치 권한 , 네트워크 연결 상태 , NFC , 흔들기 가속도 센서 활성 상태 확인
* // -----------------------------------------
* */
// TODO [블루투스 지원 기기 및 GPS 활성 상태 확인 실시]
public static Boolean getBleGpsStateCheck(Context mContext) {
/**
* // -----------------------------------------
* [getBleGpsStateCheck 메소드 설명]
* // -----------------------------------------
* 1. 블루투스 지원 기기 체크 >> 블루투스 활성 여부 체크 >> 위치 권한 활성 여부 체크
* // -----------------------------------------
* 2. 호출 방법 : if (C_StateCheck.getBleGpsStateCheck(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
// [리턴 데이터 초기 선언 실시]
boolean state_result = false;
try {
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter == null){ // [블루투스를 지원하는 기기인지 확인]
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: 블루투스 지원 기기 확인]");
Log.i("","\n"+"[디바이스 :: 블루투스를 지원하지 않는 기기]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
0, // [일반 알림]
S_FinalData.AL_TITLE,
S_FinalData.AL_NBD,
S_FinalData.AL_OK,
"",
"");
}
else { // [블루투스가 켜져있는지 확인]
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: 블루투스 지원 기기 확인]");
Log.i("","\n"+"[디바이스 :: 블루투스를 지원하는 기기]");
Log.d("//===========//","================================================");
Log.i("---","---");
if(mBluetoothAdapter.isEnabled() == true){
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: 블루투스 기능 활성 확인]");
Log.i("","\n"+"[상태 :: 블루투스 기능 활성]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [GPS 활성 상태 확인 실시]
try {
LocationManager locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ // [위치 권한 비활성인 경우]
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: GPS 위치 권한 활성 여부 확인]");
Log.i("","\n"+"[상태 :: 비활성]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
3, // [위치 권한 설정창 이동]
S_FinalData.AL_TITLE,
S_FinalData.AL_NLE,
S_FinalData.AL_SET,
S_FinalData.AL_NO,
"");
}
else { // [위치 권한 활성인 경우]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: GPS 위치 권한 활성 여부 확인]");
Log.i("","\n"+"[상태 :: 활성]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [리턴 결과 삽입]
state_result = true;
}
}
catch (Exception e){
e.printStackTrace();
}
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleGpsStateCheck() :: 블루투스 기능 활성 확인]");
Log.i("","\n"+"[상태 :: 블루투스 기능 비활성]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
2, // [블루투스 설정창 이동]
S_FinalData.AL_TITLE,
S_FinalData.AL_NBE,
S_FinalData.AL_SET,
S_FinalData.AL_NO,
"");
}
}
}
catch (Exception e){
e.printStackTrace();
}
return state_result;
}
// TODO [현재 연결된 네트워크 상태 확인 메소드]
public static Boolean getWhatOfNetwork(Context mContext){
/**
* // -----------------------------------------
* [getWhatOfNetwork 메소드 설명]
* // -----------------------------------------
* 1. 현재 사용자 모바일 디바이스 기기 네트워크 연결 상태 체크
* // -----------------------------------------
* 2. 사전 퍼미션 설정 : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
* // -----------------------------------------
* 3. 호출 방법 : if (C_StateCheck.getWhatOfNetwork(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
try {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null) {
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("","\n"+"["+"연결 상태 :: "+String.valueOf("와이파이")+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
return true;
}
else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("","\n"+"["+"연결 상태 :: "+String.valueOf("모바일")+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
return true;
}
else {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("","\n"+"["+"연결 상태 :: "+String.valueOf("없음")+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
return false;
}
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 에러]");
Log.i("","\n"+"["+"error [에러] :: "+"NetworkInfo == null"+"]");
Log.i("","\n"+"["+"로 직 :: "+"return true 통과 로직 허용"+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
return true;
}
}
catch (Exception e){
//e.printStackTrace();
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("","\n"+"["+"catch [에러] :: "+String.valueOf(e.getMessage())+"]");
Log.i("","\n"+"["+"로 직 :: "+"return true 통과 로직 허용"+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
return true;
}
}
// TODO [모바일 잠금 설정 상태 확인]
public static Boolean getMobileLock(Context mContext){
/**
* // -----------------------------------------
* [getMobileLock 메소드 설명]
* // -----------------------------------------
* 1. 현재 사용자 모바일 디바이스 잠금 설정 상태 확인 실시
* // -----------------------------------------
* 2. 호출 방법 : if (C_StateCheck.getMobileLock(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
try {
KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(KEYGUARD_SERVICE);
if (keyguardManager.isKeyguardSecure() == true) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getMobileLock() :: 모바일 잠금 설정 상태 확인]");
Log.i("","\n"+"["+"잠금 상태 :: "+String.valueOf("잠금 화면 설정 됨")+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
return true;
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getMobileLock() :: 모바일 잠금 설정 상태 확인]");
Log.i("","\n"+"["+"잠금 상태 :: "+String.valueOf("잠금 화면 설정 안됨")+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
catch (Exception e){
e.printStackTrace();
}
return false;
}
// TODO [nfc 활성 상태 확인]
public static Boolean getNfcState(Context mContext){
/**
* // -----------------------------------------
* [getNfcState 메소드 설명]
* // -----------------------------------------
* 1. NFC 설정 활성 및 비활성 상태 확인 수행 메소드
* // -----------------------------------------
* 2. 호출 방법 : if (C_StateCheck.getNfcState(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
boolean returnData = false;
try {
NfcAdapter nfcAdapter = null;
nfcAdapter = NfcAdapter.getDefaultAdapter(mContext);
if(nfcAdapter == null){ // [NFC를 지원하지 않는 기기인지 확인]
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNfcState() :: NFC 지원하지 않는 모바일 기기]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
0, // [일반 알림]
S_FinalData.AL_TITLE,
S_FinalData.AL_NFD,
S_FinalData.AL_OK,
"",
"");
}
else { //TODO NFC가 켜져있는지 확인 [NFC 지원 기기]
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNfcState() :: NFC 지원하는 모바일 기기]");
Log.d("//===========//","================================================");
Log.i("---","---");
if(nfcAdapter.isEnabled() == true){
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNfcState() :: NFC 활성 상태]");
Log.w("//===========//","================================================");
Log.i("---","---");
return true;
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNfcState() :: NFC 비활성 상태]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
4, // [NFC 설정창 이동]
S_FinalData.AL_TITLE,
S_FinalData.AL_NFE,
S_FinalData.AL_SET,
S_FinalData.AL_NO,
"");
}
}
}
catch (Exception e){
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNfcState() :: NFC 지원하지 않는 모바일 기기]");
Log.i("","\n"+"[Catch 메시지 :: "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
// [팝업창 호출 실시]
C_Ui_View.showAlert(
mContext,
0, // [일반 알림]
S_FinalData.AL_TITLE,
S_FinalData.AL_NFD,
S_FinalData.AL_OK,
"",
"");
}
return false;
}
// TODO [흔들기 이벤트 - 가속도 센서 지원 여부 확인]
public static Boolean checkDeviceAccelerometer(Context mContext){
/**
* // -----------------------------------------
* [checkDeviceAccelerometer 메소드 설명]
* // -----------------------------------------
* 1. 사용자 모바일 디바이스 기기 가속도 센서, 흔들기 이벤트 지원 여부 확인
* // -----------------------------------------
* 2. 호출 방법 : if (C_StateCheck.checkDeviceAccelerometer(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
try {
SensorManager mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if (sensor != null) {
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> checkDeviceAccelerometer() :: 디바이스 가속도 지원 확인 실시]");
Log.i("","\n"+"[지원 여부 :: true]");
Log.w("//===========//","================================================");
Log.i("---","---");
return true;
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> checkDeviceAccelerometer() :: 디바이스 가속도 지원 확인 실시]");
Log.i("","\n"+"[지원 여부 :: false]");
Log.e("//===========//","================================================");
Log.i("---","---");
return false;
}
}
catch (Exception e){
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> checkDeviceAccelerometer() :: 디바이스 가속도 지원 확인 실시]");
Log.i("","\n"+"[Exception :: "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
return false;
}
}
// TODO [사용자 모바일 디바이스 블루투스 장비 연결 상태 확인]
public static Boolean bluetoothConnectState(Context mContext) {
/**
* // -----------------------------------------
* [bluetoothConnectState 메소드 설명]
* // -----------------------------------------
* 1. 사용자 모바일 디바이스 블루투스 장비 연결 상태 확인
* // -----------------------------------------
* 2. 호출 방법 : if (C_StateCheck.bluetoothConnectState(A_Main.this) == true) { } else { }
* // -----------------------------------------
* 3. 리턴 결과 : 블루투스 장비가 연결된 경우 true / 아니면 false
* // -----------------------------------------
* 4. 필요 퍼미션 :
*
* <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
* // -----------------------------------------
* */
// [리턴 결과 반환 변수 선언]
boolean returnData = false;
String deviceName = "";
try {
/*
* 1. [페어링 된 블루투스 장비 목록을 얻어옵니다]
* 2. 블루투스 기능이 활성화된 경우 BluetoothDevice 리스트 목록 표시 / 블루투스 기능이 비활성인 경우 목록 표시 안됨
* */
// TODO [안드로이드 12 / 타겟 31 이상 권한 체크 로직 추가 실시]
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> bluetoothConnectState() :: 블루투스 장비 연결 상태 확인 실패]");
Log.i("","\n"+"[error :: "+"Android 12 / target 31 이상 BLUETOOTH_CONNECT 권한 부여 안됨"+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
return returnData;
}
}
Set<BluetoothDevice> bluetoothDevices = BluetoothAdapter.getDefaultAdapter().getBondedDevices();
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> bluetoothConnectState() :: 블루투스 장비 연결 상태 확인 실시]");
Log.i("","\n"+"[페어링된 블루투스 장비 목록 :: "+String.valueOf(bluetoothDevices.toString())+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
// [페어링된 블루투스 장비 목록에서 현재 연결된 상태 체크 실시]
for (BluetoothDevice bluetoothDevice : bluetoothDevices) {
try {
// [isConnected 메소드를 사용해서 페어링된 블루투스 장비 목록에서 개별 장비가 연결되었는지 확인 실시]
Method m = bluetoothDevice.getClass().getMethod("isConnected", (Class[]) null);
boolean connected = (boolean) m.invoke(bluetoothDevice, (Object[]) null);
if (connected == true){ // TODO [블루투스 장비가 연결된 상태]
// [연결된 블루투스 디바이스 이름 확인]
deviceName = String.valueOf(bluetoothDevice.getName());
///*
if (deviceName != null && deviceName.length()>0
&& deviceName.trim().equals("") == false && deviceName.trim().equals("null") == false){
}
else {
deviceName = String.valueOf(bluetoothDevice.getAddress());
}
// */
// [리턴 결과 삽입]
returnData = true;
// [반복문 종료]
break;
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
catch (Exception e){
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> bluetoothConnectState() :: 블루투스 장비 연결 상태 확인 실시]");
Log.i("","\n"+"[Exception :: "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
// [로그 출력 실시]
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> bluetoothConnectState() :: 블루투스 장비 연결 상태 확인 실시]");
Log.i("","\n"+"[deviceName :: "+String.valueOf(deviceName)+"]");
Log.i("","\n"+"[return :: "+String.valueOf(returnData)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
// [리턴 결과 반환]
return returnData;
}
// TODO [현재 연결된 네트워크 상태 확인 메소드 : 타겟 31 대응]
public static Boolean getNetworkConnect(Context mContext) {
/**
* // -----------------------------------------
* [getNetworkConnect 메소드 설명]
* // -----------------------------------------
* 1. 현재 사용자 모바일 디바이스 기기 네트워크 연결 상태 체크
* // -----------------------------------------
* 2. 사전 퍼미션 설정 : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
* // -----------------------------------------
* 3. 호출 방법 : if (C_StateCheck.getNetworkConnect(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
// [리턴 변수 선언 실시]
boolean returnData = true;
String networkName = "";
try {
// [ConnectivityManager 생성]
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
// [버전 분기 처리]
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // [마시멜로우 이상]
NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(cm.getActiveNetwork());
if (networkCapabilities != null){
if(networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
networkName = "[capabilities] WIFI";
}
else if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){
networkName = "[capabilities] MOBILE";
}
else {
returnData = false;
networkName = "[capabilities] network is null";
}
}
else {
returnData = false;
networkName = "[ERROR] networkCapabilities is null";
}
}
else { // [마시멜로우 미만]
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null) {
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
networkName = "[activeNetwork] WIFI";
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
networkName = "[activeNetwork] MOBILE";
} else {
returnData = false;
networkName = "[activeNetwork] network is null";
}
} else {
returnData = false;
networkName = "[ERROR] activeNetwork is null";
}
}
}
catch (Exception e) {
e.printStackTrace();
}
// [로그 출력 실시]
Log.i("---","---" + "\n");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getNetworkConnect() :: 현재 연결된 네트워크 상태 확인]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[NETWORK :: "+ networkName +"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[RETURN :: "+ returnData +"]");
Log.d("//===========//","================================================");
Log.i("---","---" + "\n");
// [리턴 반환 실시]
return returnData;
}
// TODO [블루투스 활성 상태 체크 : 타겟 31 대응]
public static Boolean getBleEnable(Context mContext) {
/**
* // -----------------------------------------
* [getBleEnable 메소드 설명]
* // -----------------------------------------
* 1. 블루투스 활성 상태 확인 메소드
* // -----------------------------------------
* 2. 호출 방법 : C_StateCheck.getBleEnable(A_Intro.this);
* // -----------------------------------------
* 3. 리턴 데이터 : 블루투스 가 활성인 경우 true / 아니면 false
* // -----------------------------------------
* */
// [리턴 변수 선언 실시]
boolean returnData = false;
String checkLogic = "";
// [로직 처리 실시]
try {
// [객체 생성 실시]
BluetoothManager bluetoothManager = (BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
// [활성 여부 확인]
if (bluetoothAdapter != null){
if (bluetoothAdapter.isEnabled() == true){
returnData = true;
checkLogic = "[ENABLE] TRUE";
}
else {
checkLogic = "[ENABLE] FALSE";
}
}
else {
checkLogic = "[ERROR] bluetoothAdapter is null";
}
}
catch (Exception e) {
e.printStackTrace();
}
// [로그 출력 실시]
Log.i("---","---" + "\n");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getBleEnable() :: 블루투스 활성 상태 확인]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[CHECK :: "+ checkLogic +"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[RETURN :: "+ returnData +"]");
Log.d("//===========//","================================================");
Log.i("---","---" + "\n");
// [리턴 반환 실시]
return returnData;
}
// TODO [GPS 위치 권한 활성 상태 체크 : 타겟 31 대응]
public static Boolean getGpsEnable(Context mContext) {
/**
* // -----------------------------------------
* [getGpsEnable 메소드 설명]
* // -----------------------------------------
* 1. Gps 위치 권한 활성 상태 확인 메소드
* // -----------------------------------------
* 2. 호출 방법 : C_StateCheck.getGpsEnable(A_Intro.this);
* // -----------------------------------------
* 3. 리턴 데이터 : GPS 가 활성인 경우 true / 아니면 false
* // -----------------------------------------
* */
// [리턴 변수 선언 실시]
boolean returnData = false;
String checkLogic = "";
// [로직 처리 실시]
try {
// [객체 생성 실시]
LocationManager locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
// [활성 여부 확인]
if (locationManager != null){
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) == true){
returnData = true;
checkLogic = "[ENABLE] TRUE";
}
else {
checkLogic = "[ENABLE] FALSE";
}
}
else {
checkLogic = "[ERROR] locationManager is null";
}
}
catch (Exception e) {
e.printStackTrace();
}
// [로그 출력 실시]
Log.i("---","---" + "\n");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_StateCheck >> getGpsEnable() :: Gps 위치 권한 활성 상태 확인]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[CHECK :: "+ checkLogic +"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[RETURN :: "+ returnData +"]");
Log.d("//===========//","================================================");
Log.i("---","---" + "\n");
// [리턴 반환 실시]
return returnData;
}
} // TODO [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments