一. 什麼是藍牙(Bluetooth)?java
1.1 BuleTooth是目前使用最普遍的無線通訊協議android
1.2 主要針對短距離設備通信(10m)網絡
1.3 經常使用於鏈接耳機,鼠標和移動通信設備等.app
二. 與藍牙相關的APIide
2.1 BluetoothAdapter:spa
表明了本地的藍牙適配器xml
2.2 BluetoothDevice對象
表明了一個遠程的Bluetooth設備blog
三. 掃描已經配對的藍牙設備(1)部署
注:必須部署在真實手機上,模擬器沒法實現
首先須要在AndroidManifest.xml 聲明藍牙權限
<user-permission android:name="android.permission.BLUETOOTH" />
配對藍牙須要手動操做:
1. 打開設置--> 無線網絡 --> 藍牙 勾選開啓
2. 打開藍牙設置 掃描周圍已經開啓的藍牙設備(能夠與本身的筆記本電腦進行配對),點擊進行配對
電腦上會彈出提示窗口: 添加設備
顯示計算與設備之間的配對碼,要求確認是否配對
手機上也會顯示相似的提示.
四. 掃描已經配對的藍牙設備(2)
4.1 得到BluetoothAdapter對象
4.2 判斷當前移動設備中是否擁有藍牙
4.3 判斷當前移動設備中藍牙是否已經打開
4.4 獲得全部已經配對的藍牙設備對象
import java.util.Iterator; import java.util.Set; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button button = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.buttonId); button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //得到BluetoothAdapter對象,該API是android 2.0開始支持的 BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); //adapter不等於null,說明本機有藍牙設備 if(adapter != null){ System.out.println("本機有藍牙設備!"); //若是藍牙設備未開啓 if(!adapter.isEnabled()){ Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); //請求開啓藍牙設備 startActivity(intent); } //得到已配對的遠程藍牙設備的集合 Set<BluetoothDevice> devices = adapter.getBondedDevices(); if(devices.size()>0){ for(Iterator<BluetoothDevice> it = devices.iterator();it.hasNext();){ BluetoothDevice device = (BluetoothDevice)it.next(); //打印出遠程藍牙設備的物理地址 System.out.println(device.getAddress()); } }else{ System.out.println("尚未已配對的遠程藍牙設備!"); } }else{ System.out.println("本機沒有藍牙設備!"); } } }); } }