chrome.bluetooth

شرح

از chrome.bluetooth API برای اتصال به دستگاه بلوتوث استفاده کنید. همه عملکردها خرابی‌ها را ازطریق chrome.runtime.lastError گزارش می‌کنند.

دردسترس بودن

فقط ChromeOS

مانیفست

برای استفاده از این میانای برنامه‌سازی کاربردی، کلیدهای زیر باید در مانیفست اعلام شوند.

"bluetooth"

انواع

AdapterState

مشخصات

  • نشانی

    رشته

    نشانی آداپتور، در قالب «XX:XX:XX:XX:XX:XX».

  • موجود

    بولی

    نشان می‌دهد که آیا آداپتور دردسترس (یعنی فعال) است یا نه.

  • کشف کردن

    بولی

    نشان می‌دهد که آیا تطبیق‌دهنده درحال‌حاضر درحال کاوش است یا نه.

  • نام

    رشته

    نام قابل‌خواندن برای انسان برای آداپتور.

  • قدرت‌گرفته

    بولی

    نشان می‌دهد که آداپتور برق دارد یا نه.

BluetoothFilter

Chrome نسخه ۶۷ و بالاتر

مشخصات

  • filterType

    FilterType اختیاری

    نوع فیلتری که باید بر فهرست دستگاه اعمال شود. پیش‌فرض «همه» است.

  • حد

    شماره اختیاری

    حداکثر تعداد دستگاه‌های بلوتوث برای برگرداندن. اگر مشخص نشده باشد، پیش‌فرض ۰ (بدون محدودیت) است.

Device

مشخصات

  • نشانی

    رشته

    نشانی دستگاه، در قالب «XX:XX:XX:XX:XX:XX».

  • batteryPercentage

    شماره اختیاری

    Chrome نسخه ۷۷ به بالا

    شارژ باقی‌مانده باتری دستگاه.

  • قابل‌اتصال

    بولی اختیاری

    Chrome نسخه ۴۸ به بالا

    نشان می‌دهد که دستگاه قابل‌اتصال است یا نه.

  • اتصال برقرار شد

    بولی اختیاری

    نشان می‌دهد دستگاه درحال‌حاضر به سیستم متصل است یا نه.

  • متصل کردن

    بولی اختیاری

    Chrome نسخه ۴۸ به بالا

    نشان می‌دهد دستگاه درحال‌حاضر به سیستم متصل است یا نه.

  • deviceClass

    شماره اختیاری

    کلاس دستگاه، فیلد بیتی تعریف‌شده توسط http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband.

  • deviceId

    شماره اختیاری

  • inquiryRssi

    شماره اختیاری

    Chrome نسخه ۴۴ به بالا

    قدرت سیگنال دریافتی، برحسب دسی‌بل میلی‌وات. این فیلد فقط درطول کاوش دردسترس و معتبر است. خارج از کاوش، مقدار آن مشخص نشده است.

  • inquiryTxPower

    شماره اختیاری

    Chrome نسخه ۴۴ به بالا

    سطح توان مخابره‌شده. این فیلد فقط برای دستگاه‌های LE که این فیلد را در AD دارند دردسترس است. این ویژگی فقط درطول کاوش دردسترس و معتبر است.

  • نام

    رشته اختیاری

    نام قابل‌خواندن برای انسان دستگاه.

  • جفت‌شده

    بولی اختیاری

    نشان می‌دهد که دستگاه با سیستم جفت شده است یا نه.

  • productId

    شماره اختیاری

  • حمل‌ونقل عمومی

    حمل‌ونقل اختیاری

    Chrome نسخه ۷۶ و بالاتر

    نوع انتقال دستگاه بلوتوث.

  • نوع

    DeviceType اختیاری

    نوع دستگاه، اگر توسط Chrome شناسایی شود. این مقدار از فیلد deviceClass به‌دست می‌آید و فقط بخش کوچکی از انواع دستگاه‌های ممکن را نشان می‌دهد. اگر شک دارید، باید مستقیماً از فیلد deviceClass استفاده کنید.

  • uuids

    رشته[] اختیاری

    شناسه‌های UUID پروتکل‌ها، نمایه‌ها، و سرویس‌های تبلیغ‌شده توسط دستگاه. برای دستگاه‌های بلوتوث کلاسیک، این فهرست از داده‌های EIR و جدول‌های SDP به‌دست می‌آید. برای دستگاه‌های «کم‌مصرف»، این فهرست از سرویس‌های اصلی AD و GATT به‌دست می‌آید. برای دستگاه‌های حالت دوگانه، این اطلاعات ممکن است از هر دو دستگاه دریافت شود.

  • vendorId

    شماره اختیاری

  • vendorIdSource

    VendorIdSource اختیاری

    سابقه شناسه دستگاه، درصورت وجود.

DeviceType

انواع دستگاه‌های رایجی که Chrome آن‌ها را تشخیص می‌دهد.

شمارشی

"computer"

"phone"

"modem"

"audio"

«carAudio»

"video"

«peripheral»

"joystick"

«دسته بازی»

"keyboard"

«mouse»

«رایانه لوحی»

"keyboardMouseCombo"

FilterType

Chrome نسخه ۶۷ و بالاتر

انواع فیلتر کردن دستگاه‌های بلوتوث.

شمارشی

«همه»

«شناخته‌شده»

Transport

Chrome نسخه ۷۶ و بالاتر

نوع انتقال دستگاه بلوتوث.

شمارشی

«نامعتبر»

«کلاسیک»

«le»

«دوگانه»

VendorIdSource

مراجع تخصیص برای «شناسه‌های ارائه‌دهندگان».

شمارشی

"bluetooth"

"usb"

روش‌ها

getAdapterState()

قول
chrome.bluetooth.getAdapterState(
  callback?: function,
)
: Promise<AdapterState>

دریافت اطلاعات درباره آداپتور بلوتوث.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (adapterInfo: AdapterState) => void

    • adapterInfo

      شیء حاوی اطلاعات آداپتور.

بازگشتی‌ها

  • Promise<AdapterState>

    Chrome نسخه ۹۱ به بالا

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getDevice()

قول
chrome.bluetooth.getDevice(
  deviceAddress: string,
  callback?: function,
)
: Promise<Device>

دریافت اطلاعات درباره دستگاه بلوتوثی که برای سیستم شناخته‌شده است.

پارامترها

  • deviceAddress

    رشته

    نشانی دستگاهی که باید دریافت شود.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (deviceInfo: Device) => void

    • deviceInfo

      شیء حاوی اطلاعات دستگاه.

بازگشتی‌ها

  • Promise<Device>

    Chrome نسخه ۹۱ به بالا

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getDevices()

قول
chrome.bluetooth.getDevices(
  filter?: BluetoothFilter,
  callback?: function,
)
: Promise<Device[]>

فهرستی از دستگاه‌های بلوتوث شناخته‌شده برای سیستم، ازجمله دستگاه‌های جفت‌شده و اخیراً شناسایی‌شده، دریافت کنید.

پارامترها

  • فیلتر کردن

    BluetoothFilter اختیاری

    Chrome نسخه ۶۷ و بالاتر

    برخی‌از معیارها برای فیلتر کردن فهرست دستگاه‌های بلوتوث برگردانده‌شده. اگر فیلتر تنظیم نشده باشد یا روی {} تنظیم شده باشد، فهرست دستگاه‌های برگردانده‌شده شامل همه دستگاه‌های بلوتوث خواهد بود. درحال‌حاضر این ویژگی فقط در ChromeOS پشتیبانی می‌شود، برای پلاتفرم‌های دیگر، فهرست کامل برگردانده می‌شود.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (deviceInfos: Device[]) => void

    • deviceInfos

      آرایه شیء حاوی اطلاعات دستگاه.

بازگشتی‌ها

  • Promise<Device[]>

    Chrome نسخه ۹۱ به بالا

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

startDiscovery()

قول
chrome.bluetooth.startDiscovery(
  callback?: function,
)
: Promise<void>

کاوش را شروع کنید. دستگاه‌های جدیداً کشف‌شده ازطریق رویداد onDeviceAdded برگردانده خواهند شد. دستگاه‌هایی که قبلاً کشف شده‌اند و آداپتور ازقبل آن‌ها را می‌شناسد باید بااستفاده از getDevices دریافت شوند و فقط درصورت تغییر اطلاعات مربوط به آن‌ها بااستفاده از رویداد onDeviceChanged به‌روزرسانی خواهند شد.

اگر این برنامه قبلاً startDiscovery را فراخوانی کرده باشد، «کاوش» شروع نخواهد شد. «اکتشاف» می‌تواند منابع زیادی مصرف کند: stopDiscovery باید در اسرع وقت فراخوانده شود.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۱ به بالا

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

stopDiscovery()

قول
chrome.bluetooth.stopDiscovery(
  callback?: function,
)
: Promise<void>

کاوش را متوقف کنید.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۱ به بالا

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

رویدادها

onAdapterStateChanged

chrome.bluetooth.onAdapterStateChanged.addListener(
  callback: function,
)

وقتی وضعیت آداپتور بلوتوث تغییر می‌کند، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (state: AdapterState) => void

onDeviceAdded

chrome.bluetooth.onDeviceAdded.addListener(
  callback: function,
)

وقتی اطلاعات مربوط به دستگاه بلوتوث جدید دردسترس باشد، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (device: Device) => void

onDeviceChanged

chrome.bluetooth.onDeviceChanged.addListener(
  callback: function,
)

وقتی اطلاعات مربوط به دستگاه بلوتوث شناخته‌شده‌ای تغییر کرده باشد، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (device: Device) => void

onDeviceRemoved

chrome.bluetooth.onDeviceRemoved.addListener(
  callback: function,
)

زمانی فعال می‌شود که دستگاه بلوتوثی که قبلاً شناسایی شده بود، برای مدت طولانی خارج از محدوده بوده باشد تا دوباره به‌عنوان غیرقابل‌دسترس درنظر گرفته شود، و زمانی که دستگاه جفت‌شده‌ای برداشته شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (device: Device) => void