BluetoothSocket 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個連接或連接的藍牙插座。
[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
- 繼承
- 屬性
- 實作
備註
一個連接或連接的藍牙插座。
藍牙插座的介面類似於 TCP 插槽: java.net.Socket 且 java.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 |
回傳此 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個連接或連接的藍牙插座。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |