BluetoothSocket 類別

定義

一個連接或連接的藍牙插座。

[Android.Runtime.Register("android/bluetooth/BluetoothSocket", DoNotGenerateAcw=true)]
public sealed class BluetoothSocket : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ICloseable
[<Android.Runtime.Register("android/bluetooth/BluetoothSocket", DoNotGenerateAcw=true)>]
type BluetoothSocket = class
    inherit Object
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
BluetoothSocket
屬性
實作

備註

一個連接或連接的藍牙插座。

藍牙插座的介面類似於 TCP 插槽: java.net.Socketjava.net.ServerSocket。 在伺服器端,使用 a BluetoothServerSocket 來建立監聽伺服器插槽。 當連線被接受 BluetoothServerSocket時,會回傳一個新連線 BluetoothSocket 來管理該連線。 在用戶端,使用單一 BluetoothSocket 連線來發起外出連線並管理連線。

最常見的藍牙插座類型是 RFCOMM,這是 Android API 所支援的類型。 RFCOMM 是一種以連線為導向的藍牙串流傳輸。 它也被稱為序列埠配置檔(SPP)。

要建立連接已知裝置的 a BluetoothSocket ,請使用 BluetoothDevice#createRfcommSocketToServiceRecord BluetoothDevice.createRfcommSocketToServiceRecord()。 然後打電話 #connect() 嘗試連接遠端裝置。 此通話會阻塞,直到連線建立或連線失敗。

若要建立 BluetoothSocket 作為伺服器(或「主機」),請參閱 BluetoothServerSocket 文件。

一旦套接字連接,無論是以客戶端啟動或被接受為伺服器,透過呼叫 #getInputStream#getOutputStreamjava.io.InputStream 來開啟 IO 串流,分別取得 和 java.io.OutputStream 物件,這些物件會自動連接到套接字。

BluetoothSocket 是線程安全的。 特別是, #close 我總是會立即中止正在進行的操作並關閉插座。

<div 類別=「特殊參考」>

<h3>開發者指南</h3>

想了解更多藍牙使用資訊,請閱讀 藍牙 開發者指南。 </div>

Java 文件 android.bluetooth.BluetoothSocket

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

欄位

名稱 Description
TypeLe
已淘汰.

LE 傳輸上的 L2CAP 插座

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
ConnectionType

了解潛在連結的類型。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
InputStream

取得與這個 socket 相關的輸入串流。

IsConnected

取得這個插槽的連線狀態,也就是是否與遠端裝置有活躍連線。

JniIdentityHashCode

一個連接或連接的藍牙插座。

(繼承來源 Object)
JniPeerMembers

一個連接或連接的藍牙插座。

MaxReceivePacketSize

取得底層傳輸的最大支援接收封包大小。

MaxTransmitPacketSize

取得底層傳輸的最大支援傳送封包大小。

OutputStream

取得與這個插槽相關聯的輸出串流。

PeerReference

一個連接或連接的藍牙插座。

(繼承來源 Object)
RemoteDevice

取得這個插座連接或已連接的遠端裝置。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Close()

關閉物件並釋放其儲存的系統資源。

Connect()

嘗試連接遠端裝置。

ConnectAsync()

一個連接或連接的藍牙插座。

Dispose()

一個連接或連接的藍牙插座。

(繼承來源 Object)
Dispose(Boolean)

一個連接或連接的藍牙插座。

(繼承來源 Object)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

一個連接或連接的藍牙插座。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

一個連接或連接的藍牙插座。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.Finalized()

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個連接或連接的藍牙插座。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個連接或連接的藍牙插座。

(繼承來源 Object)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個連接或連接的藍牙插座。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於