BluetoothAdapter
可以把它想像成,這個類別就等同於Android手機裡的藍芽裝置。這樣就很容易理解了!很直覺地,當我們想要操作Bluetooth裝置,就可以透過BluetoothAdapter這個類別來執行。
那麼,要使用它必須先物件化,可以透過getDefaultAdapter()這個方法來產生BluetoothAdapter類別的物件,例如;下列的程式碼宣告且產生一個BluetoothAdapter類別的物件,其名稱為mBTadapter;
BluetoothAdapter mBTadapter = BluetoothAdapter.getDefaultAdapter();
我們要先判斷mBTadapter是否物件化成功,即mBTadapter != null,如果mBTadapter == null,就表示我們的Android 手機沒有藍芽功能。
接著,我們可以嘗試使用幾個BluetoothAdapter提供的方法,例如; isEnabled(), disable()
isEnabled()用來判斷藍芽裝置目前是否已經準備好了可以開啟,如果回傳值是true,表示可以打開藍芽裝置。要開啟藍芽裝置可以透過startActivityForResult()這個方法來達成,程式片段如下;
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent, REQUEST_BT_ENABLE);
其中,REQUEST_BT_ENABLE是自己定義的整數其值必須大於零。
disable(),則是用來關閉藍芽裝置。
整個程式的原始碼加入藍色字體的部分即可
public class MainActivity extneds ActionBarActivity {
private static final int REQUEST_BT_ENABLE = 2;
BluetoothAdapter mBTadapter = BluetoothAdapter.getDefaultAdapter();
public void BTOn(View view) {
if(!mBTadapter.isEnable()) {
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent, REQUEST_BT_ENABLE);
} else {
Toast.makeText(getApplicationContext(), "已經開啟", Toast.LENGTH_LONG).show();
}
}
public void BTOff(View view) {
if(mBTadapter.isEnable()) {
mBTadapter.disable();
Toast.makeText(getApplicationContext(), "關閉藍芽", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "已經開啟", Toast.LENGTH_LONG).show();
}
}
}
activity_main.xml 加入
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="BTOn"
android:text="@string/button_on"
android:id="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="BTOff"
android:text="@string/button_off"
android:layout_alignTop="@+id/button"
android:layout_centerHorizontal="true" />
strings.xml加入
<string name="button_on">開啟藍芽</string>
<string name="button_off">關閉藍芽</string>
最後,AndroidManifest.xml要加入
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
程式開始執行的畫面
按下開啟藍芽之後,請求允許開啟藍芽的權限
按下關閉藍芽之後,藍芽裝置即被關閉
沒有留言:
張貼留言