안드로이드 블루투스 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;
}
}
}
}
|
'[미네르바's IT] > [미네르바's 안드로이드]' 카테고리의 다른 글
[안드로이드]Sqlite Database Browser 사용시 한글깨짐 (0) | 2015.09.21 |
---|---|
[안드로이드]안드로이드 운영체제를 PC에 설치하는 방법 (0) | 2015.08.26 |
[안드로이드]안드로이드 com.android.future.usb.accessory (0) | 2015.05.11 |
[안드로이드]SpeechToText 기능 (0) | 2015.04.09 |
[안드로이드]TTS 기능 (0) | 2015.04.08 |