📜  Android 蓝牙列表配对设备示例

📅  最后修改于: 2020-10-11 03:54:22             🧑  作者: Mango

Android蓝牙列表配对设备示例

BluetoothAdapter类的getBoundedDevices()方法提供了一个集合,其中包含所有配对或绑定的蓝牙设备的列表。

在此示例中,我们正在检查蓝牙是否已关闭,如果是,则将其打开并列出所有配对的设备。

activity_main.xml

从面板上拖动一个textview,现在activity_main.xml文件将如下所示:



    


提供权限

您需要在AndroidManifest.xml文件中提供以下权限。

    
    

AndroidManifest.xml文件的完整代码如下。




    

    
    
    
    
        
            
                

                
            
        
    


活动课

让我们编写代码以提供配对(有界)蓝牙设备的列表。

package com.example.bluetoothshowpaired;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import java.util.Set;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.widget.TextView;
 
public class MainActivity extends Activity {
  TextView textview1;
  private static final int REQUEST_ENABLE_BT = 1;
  BluetoothAdapter btAdapter; 
 
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 
    textview1 = (TextView) findViewById(R.id.textView1);
     
    // Getting the Bluetooth adapter
    btAdapter = BluetoothAdapter.getDefaultAdapter();
    textview1.append("\nAdapter: " + btAdapter);
     
    CheckBluetoothState();
  }
     
  /* It is called when an activity completes.*/
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_ENABLE_BT) {
      CheckBluetoothState();
    }
  }
 
  @Override
  protected void onDestroy() {
    super.onDestroy();
  }
 
  private void CheckBluetoothState() {
    // Checks for the Bluetooth support and then makes sure it is turned on
    // If it isn't turned on, request to turn it on
    // List paired devices
    if(btAdapter==null) { 
      textview1.append("\nBluetooth NOT supported. Aborting.");
      return;
    } else {
      if (btAdapter.isEnabled()) {
        textview1.append("\nBluetooth is enabled...");
         
        // Listing paired devices
        textview1.append("\nPaired Devices are:");
        Set devices = btAdapter.getBondedDevices();
        for (BluetoothDevice device : devices) {
          textview1.append("\n  Device: " + device.getName() + ", " + device);
        }
      } else {
        //Prompt user to turn on Bluetooth
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
      }
    }
  }
     

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}

您需要在真实设备(例如移动设备)上运行它以测试应用程序。