編輯:Android開發教程
通常情況下,我們對藍牙的操作主要有:開啟和關閉藍牙、搜索周邊設備、能被周邊設備所發現、獲取配對設備、藍牙設備間的數據傳輸。
1、打開藍牙(當然首先要確保你的手機是有藍牙設備的)
藍牙設備主要分為兩部分,一部分為本地設備,另一部分為遠程設備。
BluetoothAdapter——本地設備,對藍牙操作首先就需要有一個BluetoothAdapter實例。常用的幾個方法如下:
cancelDiscovery()——取消本地藍牙設備的搜索操作,如果本地設備正在進行搜索,那麼調用該方法後將停止搜索操作。
Disable()——關閉藍牙設備。
Enable()——打開藍牙設備。相信大家都有過打開藍牙的經歷,一般情況下都會彈出一個窗口,說正在請求打開藍牙設備,你是不是允許雲雲。
getAddress()——獲取藍牙設備的MAC地址。
GetDefaultAdapter()——獲取本地的藍牙設備
getName()——獲取本地藍牙的名稱
getRemoteDevice(String address)——根據遠程設備的MAC地址來獲取遠程設備
startDiscovery()——藍牙設備開始搜索周邊設備
BuletoothDevice——遠程設備。
它所包含的方法和BluetoothAdapter一樣,不再累述。
View Code // 獲取本地的藍牙適配器實例 BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); if(adapter!=null) { if(!adapter.isEnabled()) { //通過這個方法來請求打開我們的藍牙設備 Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivity(intent); } } else { System.out.println("本地設備驅動異常!"); }
2、搜索周邊設備
對於Android查找發現藍牙設備使用BluetoothAdapter類的startDiscovery()方法就可以執行一個異步方式獲取周邊的藍牙設備,因為是一個異步的方法所以我們不需要考慮線程被阻塞問題,整個過程大約需要12秒時間,這時我們可以注冊一個 BroadcastReceiver 對象來接收查找到的藍牙設備信息,我們通過Filter來過濾ACTION_FOUND這個 Intent動作以獲取每個遠程設備的詳細信息,通過Intent字段EXTRA_DEVICE 和 EXTRA_CLASS可以獲得包含了每個BluetoothDevice 對象和對象的該設備類型 BluetoothClass。
實現一個自己的BroadCastReceiver類,並注冊這個類。
View Code private class BluetoothReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); if (BluetoothDevice.ACTION_FOUND.equals(action)) { BluetoothDevice device = intent .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); System.out.println(device.getAddress()); } } }
IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND); bluetoothReceive = new BluetoothReciever(); registerReceiver(bluetoothReceive, intentFilter);
因為在注冊一個Receiver後,程序並不知道該何時去回收它,所以需要我們自己重寫Activity類的onDestroy()方法。
@Override protected void onDestroy() { // TODO Auto-generated method stub unregisterReceiver(bluetoothReceive); super.onDestroy(); }
需要的功能很簡單,就是一個帶checkbox的列表,提交時需要知道用戶選擇了那些項目,如下圖:使用SimpleAdapter作為數據適配器,重寫SimpleAdapter
Android Studio 默認編輯器(Editor)的方案(Scheme)是無法修改字體的, 可以Save as, 保存為新的方案(Scheme), 然後更改字體大小
Gallery組件主要用於橫向顯示圖像列表,不過按常規做法。Gallery組件只能有限地顯示指定的圖像。也就是說,如果為Gallery組件指定了10張圖像,那麼當Gall
Android 手機使用Pattern圖案加密後,如果忘記密碼或多次解鎖失敗後,會被google自動鎖定,無法再次進入開機首頁。本文就是針對這種情況,研究探索了一種解決的