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

리시버로 블루투스 상태 체크하면서 이미지 변경하기..

0 추천

안녕하세요.

블루투스 온/오프를 감지해서 이미지를 변경하는 걸 구상중인데요.

맨 처음에 앱 시작할 때 메인에 블루투스on/off에 따라서 다른 두개의 이미지는 준비해뒀습니다..

on/off 변화에 따라서 visible할건지 invisible할건지 이렇게 할건데요..

해당 앱의 onCreate 부분에서 아래와 같은 식으로 앱이 시작할 때 블루투스가 켜졌냐 꺼졌냐를 감지해서

이미지  visible /invisible 처리 했습니다.

BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter();
if(ba.getState()==BluetoothAdapter.STATE_TURNING_ON|| ba.getState()==BluetoothAdapter.STATE_ON)
{
Toast.makeText(getBaseContext(), "블루투스 활성화", 2000).show();
btn_on.setVisibility(View.VISIBLE);
btn_off.setVisibility(View.INVISIBLE);
 
}
else //비활성화 시
{
// Toast.makeText(getBaseContext(), "블루투스 비활성화", 2000).show();
btn_off.setVisibility(View.VISIBLE);
btn_on.setVisibility(View.INVISIBLE);
 
}
 
그다음에 궁금한게, 맨 처음에 onCreate 말고, 앱을 켜놓고 블루투스를 끄거나 켜는 등 상태가 변화될 때도 이미지가
즉각 변경되도록 하고싶은데..이럴 땐 리시버?로 처리를 해야 하는것인가요? 
현재 onCreate할 때에 블루투스가 켜졌냐 꺼졌냐만 감지해서 [리시버x] 앱을 켰을 때 블루투스가 켜져있다고 가정한다면
메인에서 btn_on이 보일텐데요, 중간에 블루투스를 꺼버리면[위에 드래그?하면 설정 나오는데 거기서 끌 때]
메인의 btn_on이 invisible하고 btn_off[블루투스꺼짐이미지]가 visible하도록 하고싶습니다..
블루투스 온오프 실시간처리[이미지 변화]를 위해선 리시버에서 이미지 visible/invisible을 구현해야 하는건가요?
 

 

anci (19,950 포인트) 님이 2014년 6월 24일 질문

1개의 답변

+1 추천
 
채택된 답변
BluetoothAdapter.ACTION_STATE_CHANGED
BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED

이게 블루투스가 꺼짐/켜짐, 기기가 연결됨/해제됨을 받아오는 거예요.

액티비티에서 IntentFilter와  registerReceiver를 이용해서 동작을 받아올 수 있어요. 

 

쎄미 (162,410 포인트) 님이 2014년 6월 24일 답변
anci님이 2014년 6월 24일 채택됨
감사합니다. 일단 블루투스 꺼짐/켜짐부터 확인하려고 첫번째거 사용했는데 되었네요^^;; 리시버 사용이 익숙치 않아서 꽤 해맸습니다..도움 감사합니다.
혹시 블루투스 꺼짐 켜짐 확인하는 것 구현하신거 가지고 계신가요?
저도 지금 구현중인데 리시버를 사용해서 하는데 잘 사용이 안되어서 그러는데
혹시 가지고 계시거나 알고 계시면 좀 알려주시면 감사하겠습니다.
E-mail : sunghwan523@naver.com
...