안드로이드 개발 질문/답변
(글 수 45,052)
블루투스 on/off 및 자동 서치를 하는 앱을 만들고자 하는데요
on/off 는 구현했는데 on되었을때 서치를 하고 서치를 중단 한다음 다시 off로 가는 법이 궁금해요!!
EXTRA_STATE가 ON, OFF, TURNING_ON, TURNING_OFF만 나타낼 수 있나요?
다른 상태도 나타낼수있으면 getValueAndStartTest()에 else if로 그상태를 넣으면 되는거 아닌가요?
제가 이제막 안드로이드 & 자바를 시작한 초보라서요..(물론 제가 짠코드도 아니고요...)
고수님들의 답변을 기다려봅니다!!
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
sbState.delete (0, sbState.length());
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
switch (state) {
case BluetoothAdapter.STATE_ON:
;
break;
case BluetoothAdapter.STATE_OFF:
;
break;
case BluetoothAdapter.STATE_TURNING_ON:
;
break;
case BluetoothAdapter.STATE_TURNING_OFF:
;
break;
}
}
}
on/off 는 구현했는데 on되었을때 서치를 하고 서치를 중단 한다음 다시 off로 가는 법이 궁금해요!!
EXTRA_STATE가 ON, OFF, TURNING_ON, TURNING_OFF만 나타낼 수 있나요?
다른 상태도 나타낼수있으면 getValueAndStartTest()에 else if로 그상태를 넣으면 되는거 아닌가요?
제가 이제막 안드로이드 & 자바를 시작한 초보라서요..(물론 제가 짠코드도 아니고요...)
고수님들의 답변을 기다려봅니다!!
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
sbState.delete (0, sbState.length());
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
switch (state) {
case BluetoothAdapter.STATE_ON:
;
break;
case BluetoothAdapter.STATE_OFF:
;
break;
case BluetoothAdapter.STATE_TURNING_ON:
;
break;
case BluetoothAdapter.STATE_TURNING_OFF:
;
break;
}
}
}
private void getValueAndStartTest() {
try{
ENABLE_DELAY = Integer.parseInt(eDelay);
DISABLE_DELAY = Integer.parseInt(dDealy);
RANDOM_RANGE = Integer.parseInt(rDelay);
MAX_WAIT = Integer.parseInt(mWait);
}catch(NumberFormatException e){
Toast.makeText(this, "Please Enter proper integer values in the field", Toast.LENGTH_SHORT).show();
return;
}
if(!receiverState){
mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
mContext.registerReceiver(mReceiver, mIntentFilter);
receiverState = true;
}
if (mAdapter.getState() == BluetoothAdapter.STATE_OFF) {
currentTime = System.currentTimeMillis();
stateforErrorChk = APP_TRY_ON;
turningOnInstance = System.currentTimeMillis();
mAdapter.enable();
}
else if (mAdapter.getState() == BluetoothAdapter.STATE_ON) {
currentTime = System.currentTimeMillis();
stateforErrorChk = APP_TRY_OFF;
turningOffInstance = System.currentTimeMillis();
mAdapter.disable();
}
}


