안드로이드 TextView에 블루투스의 현재 연결 상태 표시하기
조회수 538회
안녕하세요. Java 를 이용해 안드로이드 개발을 하고 있는 학생입니다. 제가 원하는 건 아래의 이미지처럼 "Bluetooth Conn Stats" TextView 옆에 TextView를 하나 더 만들어서 블루투스의 연결 상태에 따라서 TextView에 연결 상태를 표시해주는 기능입니다.
그리고 아래 이미지는 이 기능의 UI를 구현한 이미지 입니다.
XML 코드 입니다 :
(가운데 TextView는 빈 공간을 위한 기능없는 TextView 입니다.)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#c0c5ce"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity=""
android:layout_weight="1"
android:autoSizeTextType="uniform"
android:background="@drawable/rounded_corner"
android:text="Bluetooth Conn Stats"
android:textAlignment="center"
android:textColor="#ffffff" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<TextView
android:id="@+id/BTStat"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:layout_weight="1"
android:autoSizeTextType="uniform"
android:background="@drawable/rounded_corner"
android:textAlignment="center"
android:textColor="#ffffff" />
</LinearLayout>
MainActivity의 코드 입니다 :
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
// 블루투스 상태 변경 시 상단에 표시
switch (state) {
case BluetoothAdapter.STATE_OFF:
btConStat.setText("Bluetooth Off");
break;
case BluetoothAdapter.STATE_DISCONNECTED:
btConStat.setText("Disconnected");
break;
case BluetoothAdapter.STATE_ON:
btConStat.setText("Bluetooth On");
break;
case BluetoothAdapter.STATE_CONNECTED:
btConStat.setText("Connected");
break;
}
}
}
};
onCreate에 다음과 같이 연결을 해주었습니다.
btConStat = (TextView) findViewById(R.id.BTStat);
하지만 실행을 하고 블루투스를 연결할 때 앱에서 연결 기능을 추가하거나 앱 밖에서 연결을 하거나 애초에 연결을 하지 않았을 때에도 상태 표시가 되지 않았습니다. 혹시 제가 놓친 부분이 있을까요? 아니면 TextView로 만든 것이 잘못된 걸까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력