개요
이 예제는 안드로이드 앱에서 프로그래밍 방식으로 블루투스를 활성화하는 방법을 보여줍니다. 화면에 배치된 TextView를 클릭하면 BluetoothManager를 통해 기기의 블루투스 어댑터가 켜지도록 구현합니다.
1단계 – 새 프로젝트 생성
Android Studio에서 File ⇒ New Project 메뉴로 이동한 후, 새 프로젝트 생성에 필요한 모든 정보를 입력하여 새 프로젝트를 만듭니다.
2단계 – 레이아웃 파일 작성
res/layout/activity_main.xml 파일에 아래 코드를 추가합니다.
<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
xmlns:app = "https://schemas.android.com/apk/res-auto"
xmlns:tools = "https://schemas.android.com/tools"
android:layout_width = "match_parent"
android:gravity = "center"
android:layout_height = "match_parent"
tools:context = ".MainActivity">
<TextView
android:id = "@+id/text"
android:textSize = "30sp"
android:layout_width = "match_parent"
android:layout_height = "match_parent" />
</LinearLayout>
위 코드에서는 블루투스 상태를 화면에 표시하기 위해 TextView 하나를 사용했습니다. LinearLayout에 gravity = "center" 속성을 지정해 텍스트가 화면 중앙에 정렬되도록 했습니다.
3단계 – MainActivity 작성
src/MainActivity.java 파일에 아래 코드를 추가합니다.
package com.example.myapplication;
import android.bluetooth.BluetoothManager;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.Network;
import android.os.Build;
import android.os.Bundle;
import android.os.health.SystemHealthManager;
import android.provider.Telephony;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsManager;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
textView.setText("enable");
final BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
manager.getAdapter().enable();
}
});
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onResume() {
super.onResume();
}
}
코드 설명: getSystemService(BLUETOOTH_SERVICE)를 호출하여 BluetoothManager 인스턴스를 가져온 뒤, TextView에 클릭 리스너를 등록했습니다. 사용자가 화면을 클릭하면 manager.getAdapter().enable() 메서드가 실행되어 기기의 블루투스가 켜집니다.
참고: 블루투스를 제어하려면 AndroidManifest.xml에 <uses-permission android:name="android.permission.BLUETOOTH" /> 권한을 반드시 선언해야 합니다. 또한 Android 13(API 33) 이상에서는 BLUETOOTH_CONNECT 권한도 런타임에 요청해야 할 수 있습니다.
4단계 – 앱 실행 및 확인
이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 스마트폰이 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 Run(실행) 아이콘을 클릭하세요. 옵션 목록에서 본인의 모바일 기기를 선택하면, 기기에 아래와 같은 기본 화면이 표시됩니다.

화면의 "enable" 텍스트 영역을 탭하면 블루투스가 활성화되며, 상단 알림 영역에서 블루투스 아이콘이 켜진 것을 확인할 수 있습니다.