안드로이드 블루투스 Receiver 


onDestroy() : unregisterReceiver(Receiver 이름)


//블루투스 Adapter를 가져온다
BluetoothAdapter mBlueToothAdapter = BluetoothAdapter.getDefaultAdapter();
 
 
if(mBlueToothAdapter == null){
    // 만약 블루투스 adapter가 없으면, 블루투스를 지원하지 않는 기기이거나 블루투스 기능을 끈 기기이다.
// Toast 처리
}else{
    // 블루투스 adapter가 있으면, 블루투스 adater에서 페어링된 장치 목록을 불러올 수 있다.
    Set<bluetoothdevice> pairDevices = mBlueToothAdapter.getBondedDevices();
     
    //연결된 장치가 있으면
    if(pairDevices.size()>0){
        for(BluetoothDevice device : pairDevices){
            //연결된 장치 이름과, MAC주소를 가져올 수 있다.
             Log.d("Bluetooth", device.getName().toString() +" Device Is Connected!");
             Log.d("Bluetooth", device.getAddress().toString() +" Device Is Connected!");
        }
    }else{
        Toast.makeText(getApplicationContext(), "no Device", Toast.LENGTH_SHORT).show();
    }
}
 
//브로드캐스트리시버를 이용하여 블루투스 장치가 연결이 되고, 끊기는 이벤트를 받아 올 수 있다.
BroadcastReceiver bluetoothReceiver =  new BroadcastReceiver(){
    public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
        //연결된 장치를 intent를 통하여 가져온다.
        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
         
         //장치가 연결이 되었으면
        if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
             Log.d("Bluetooth", device.getName().toString() +" Device Is Connected!");
        //장치의 연결이 끊기면
        }else if(BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)){
             Log.d("Bluetooth", device.getName().toString() +" Device Is DisConnected!");
             
        }
    }          
};
 
//MUST unregisterReceiver(bluetoothReceiver) in onDestroy()
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);
registerReceiver(bluetoothReceiver, filter);
filter = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED);
registerReceiver(bluetoothReceiver, filter);



EarPhone Receiver



private boolean isHeadsetOn() { AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); boolean bHeadSet = audioManager.isWiredHeadsetOn(); bUseEarPhone = true; Log.e(TAG, "isHeadsetOn : " + bHeadSet); return false; }

private class AudioJackReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) { int state = intent.getIntExtra("state", -1); nState = state; switch (state) { case 0: Log.d(TAG, "Headset is unplugged"); break; case 1: Log.d(TAG, "Headset is plugged"); break; default: Log.d(TAG, "I have no idea what the headset state is"); break; } } } }






블로그 이미지

미네르바98

안드로이드와 영화 리뷰, 생활정보에 관한 내용을 기재합니다.

,