android藍牙是否連接
⑴ android中怎樣判斷藍牙是否連接
一般頂部都有圖標的,另外可以到設置通信裡面查找
⑵ Android藍牙怎麼檢測連接狀態
首先,要操作藍牙,先要在AndroidManifest.xml里加入許可權
<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permissionandroid:name="android.permission.BLUETOOTH" />
然後,看下api,Android所有關於藍牙開發的類都在android.bluetooth包下,如下圖,只有8個類
而我們需要用到了就只有幾個而已:
1.BluetoothAdapter 顧名思義,藍牙適配器,直到我們建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說當我們正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候我們需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);
getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket
這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter
3.BluetoothServerSocket如果去除了Bluetooth相信大家一定再熟悉不過了,既然是Socket,方法就應該都差不多,這個類一種只有三個方法
兩個重載的accept(),accept(inttimeout)兩者的區別在於後面的方法指定了過時時間,需要注意的是,執行這兩個方法的時候,直到接收到了客戶端的請求(或是過期之後),都會阻塞線程,應該放在新線程里運行!
還有一點需要注意的是,這兩個方法都返回一個BluetoothSocket,最後的連接也是伺服器端與客戶端的兩個BluetoothSocket的連接
close()這個就不用說了吧,翻譯一下——關閉!4.BluetoothSocket,跟BluetoothServerSocket相對,是客戶端一共5個方法,不出意外,都會用到
close(),關閉connect()連接getInptuStream()獲取輸入流getOutputStream()獲取輸出流getRemoteDevice()獲取遠程設備,這里指的是獲取bluetoothSocket指定連接的那個遠程藍牙設備
⑶ Android中如何實現藍牙的配對與連接
藍牙功能可以參考下面的操作打開使用:
1.打開其他設備的藍牙,並使其對其他設備可見。
2.打開下拉頂簾,點擊藍牙圖標使其變為綠色,跳出提示框,勾選對其他設備可見。
3.點擊掃描,搜索到其他設備後,點擊該設備名稱,雙方點確定後配對成功。
4.選擇要傳輸的文件,共享通過藍牙即可傳輸文件。
⑷ android 怎麼判斷藍牙連接狀態
在設置——藍牙里,在顯示的藍牙列表裡有已連接或者斷開狀態
⑸ android 怎麼判斷藍牙配對成功
可以通過mDevice.getBondState()進行判斷是否需要配對;
如下代碼中: (mBluetoothDevice.getBondState()==BluetoothDevice.BOND_NONE表示未配對。可以在調用配對方法之後讀取一下這個狀態來判斷是否已配對成功。)
protectedvoidconnectDevice(){
try{
//連接建立之前的先配對
if(mBluetoothDevice.getBondState()==BluetoothDevice.BOND_NONE){
MethodcreMethod=BluetoothDevice.class
.getMethod("createBond");
Log.e("TAG","開始配對");
creMethod.invoke(mBluetoothDevice);
}else{
}
}catch(Exceptione){
//TODO:handleexception
//DisplayMessage("無法配對!");
e.printStackTrace();
}
mBluetoothAdapter.cancelDiscovery();
try{
socket.connect();
//DisplayMessage("連接成功!");
//connetTime++;
connected=true;
}catch(IOExceptione){
//TODO:handleexception
//DisplayMessage("連接失敗!");
connetTime++;
connected=false;
try{
socket.close();
socket=null;
}catch(IOExceptione2){
//TODO:handleexception
Log.e(TAG,"");
}
}finally{
connecting=false;
}
}
⑹ 安卓手機藍牙已配對但無法連接怎麼回事
應該是操作方式不對。
要使用正確的連接方法才能連接上去。步驟如下:
1,手機打開藍牙功能,進去搜索藍牙耳機狀態。
2,使藍牙耳機在開機狀態,需要長按藍牙耳機的接聽鍵。
3,直到指示燈:藍燈紅燈交替閃爍再松開。
4,這個時候藍牙耳機和手機會再次進入匹對。
5,注意手機和藍牙距離要在10米之內。
6,等手機上面顯示此藍牙型號設備後,點擊確定即可連接使用了。
7,如以下指導示意圖:
⑺ android中怎樣判斷藍牙耳機連接成功
有幾種方式:1、手機頂端會有藍牙連接的標識;
2、手機設置-藍牙-已配對區域中,您的藍牙耳機配對名下方是否有顯示「已連接」字樣;
3、您看一下說明書,藍牙耳機已連接後的指示燈有閃爍狀態是不一樣的。
⑻ Android怎麼檢測藍牙的連接狀態如果一段斷開,我這邊怎麼檢測得到
按照藍牙規范,一旦超時連接斷開,會返回上層Disconnect complete Event with reason code: supervision timeout.可以根據該原因碼,檢測連接狀態,具體方法為:
1、BluetoothAdapter 顧名思義,藍牙適配器,直到建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說當正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);
getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱。
2、getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket
這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter。
⑼ 如何實現android藍牙自動配對連接
android藍牙自動配對連接的具體代碼如下:
1. 獲取藍牙適配器BluetoothAdapter blueadapter=BluetoothAdapter.getDefaultAdapter();
如果BluetoothAdapter 為null,說明android手機沒有藍牙模塊。
2. 判斷藍牙模塊是否開啟,blueadapter.isEnabled() true表示已經開啟,false表示藍牙並沒啟用。
3. 啟動配置藍牙可見模式,即進入可配對模式Intent in=new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
in.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 200);
startActivity(in); ,200就表示200秒。
4. 獲取藍牙適配器中已經配對的設備Set<BluetoothDevice> device=blueadapter.getBondedDevices();
當然,還需要在androidManifest.xml中聲明藍牙的許可權
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
5.自動配對設置Pin值
static public boolean autoBond(Class btClass, BluetoothDevice device, String strPin)
throws Exception {
Method autoBondMethod = btClass.getMethod("setPin", new Class[] { byte[].class });
Boolean result = (Boolean) autoBondMethod
.invoke(device, new Object[] { strPin.getBytes() });
return result;
}
6.開始配對請求
static public boolean createBond(Class btClass, BluetoothDevice device) throws Exception {
Method createBondMethod = btClass.getMethod("createBond");
Boolean returnValue = (Boolean) createBondMethod.invoke(device);
return returnValue.booleanValue();
}
⑽ 安卓系統 藍牙 與車載藍牙的連接
你可以試一下藍牙連接方法大體詳細步驟是:
1、首先手機、車載藍牙設備要建立配對關系。分別開啟手機、車載藍牙設備的藍牙功能,並將手機藍牙設置中設為所有人可見。
2、然後在手機中搜索藍牙設備,查找到之後選中進行配對連接,配對密碼為:0000,完成配對後則連接成功。
3、車載藍牙與手機藍牙配對連接成功後,可以撥打和接聽電話;在手機上播放音樂,可在車載藍牙設備上欣賞音樂。
4、找到音頻項找到藍牙音頻再按就是藍牙音頻裝置列表,此時用手機一搜就見MB Bluetooth 了。
(10)android藍牙是否連接擴展閱讀:
車載藍牙只是以無線藍牙技術為基礎而設計研發的車內無線免提系統,主要功能是為在正常行駛中用藍牙技術與手機連接進行免提通話,以達到解放雙手、降低交通肇事隱患的目的。