(1)首先我们使用蓝牙需要在清单文件里面进行注册
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
(2)我们写一个简单的布局,放置几个按钮,用于蓝牙的打开和关闭
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/btn_on"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开蓝牙" />
<Button
android:id="@+id/btn_visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使当前手机蓝牙可见" />
<Button
android:id="@+id/btn_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蓝牙列表显示" />
<Button
android:id="@+id/btn_off"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭蓝牙" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible" >
</ListView>
</LinearLayout>
(3)在MainActivity调用系统蓝牙,打开和关闭蓝牙
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//参考网址 https://www.yiibai.com/android/android_bluetooth.html
private Button btn_on,btn_off,btn_visible,btn_list;
private BluetoothAdapter bluetoothAdapter;
private Set<BluetoothDevice> pairedDevices;
private ListView lv;
private List list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_on = (Button)findViewById(R.id.btn_on);
btn_off = (Button)findViewById(R.id.btn_off);
btn_visible = (Button)findViewById(R.id.btn_visible);
btn_list = (Button)findViewById(R.id.btn_list);
lv = (ListView)findViewById(R.id.listView1);
//调用创建的对象的静态方法getDefaultAdapter()获取蓝牙对象
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
btn_on.setOnClickListener(this);
btn_off.setOnClickListener(this);
btn_visible.setOnClickListener(this);
btn_list.setOnClickListener(this);
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_on:
getOpen();
break;
case R.id.btn_off:
getClose();
break;
case R.id.btn_visible:
getView();
break;
case R.id.btn_list:
getList();//显示蓝牙列表
break;
//蓝牙可见
private void getView() {
Intent getintent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivityForResult(getintent,0);
//关闭蓝牙
private void getClose() {
bluetoothAdapter.disable();
Toast.makeText(getApplicationContext(),"关闭蓝牙",Toast.LENGTH_SHORT).show();
//显示蓝牙列表
private void getList() {
//调用 getBondedDevices()方法来获取配对设备列表
pairedDevices = bluetoothAdapter.getBondedDevices();
list = new ArrayList();
for (BluetoothDevice bt:pairedDevices){
list.add(bt.getName());
Toast.makeText(getApplicationContext(),"显示配对设备",Toast.LENGTH_SHORT).show();
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(adapter);
private void getOpen() {
//如果适配器已启用 此方法返回true
if (!bluetoothAdapter.isEnabled()){
//这里表示适配器未启动,使用intent启动蓝牙
Intent turnon = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnon,0);
Toast.makeText(getApplicationContext(),"打开蓝牙",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),"蓝牙已经打开",Toast.LENGTH_SHORT).show();