שירותי Bluetooth

באמצעות Bluetooth, מכשירים יכולים לשדר נתונים שאפשר להשתמש בהם בשירותים אינטראקטיביים כמו אודיו, הודעות וטלפוניה. פרופילי ה-Bluetooth שמשמשים לשירותים שונים מפורטים ב- include/hardware/bluetooth.h.

אודיו

חיבור Bluetooth מאפשר למשתמשים להזרים אודיו במכשירים עם Bluetooth. ברוב תרחישי השימוש באודיו, המכשיר שמבוסס על Android הוא המקור, ומכשיר העיבוד, כמו רמקול או אוזניות, הוא היעד.

שליטה בעוצמת קול מוחלטת

ב-Android 6.0 ואילך, מחסנית Bluetooth של Android מאפשרת למקור להגדיר עוצמת קול מוחלטת, וכך המשתמשים יכולים לשלוט בעוצמת הקול של האודיו בצורה מדויקת. מכשיר המקור שולח אודיו לא מוחלש ומידע על עוצמת הקול למכשיר היעד. לאחר מכן, הרכיב הזה מגביר את האודיו בהתאם לנתוני עוצמת הקול, כדי שהמשתמשים ישמעו את עוצמת הקול המדויקת של ההפעלה.

במכשיר המקור אפשר גם להירשם לקבלת התראות על עוצמת הקול. כשמבצעים שינויים בעוצמת הקול באמצעות אמצעי הבקרה ב-sink, ה-sink שולח התראה למקור. כך המקור יכול להציג במדויק את פרטי עוצמת הקול בממשק משתמש.

כברירת מחדל, בקרת עוצמת הקול המוחלטת מופעלת. משתמש יכול להשבית את השליטה המוחלטת בעוצמת הקול בהגדרות > מערכת > אפשרויות למפתחים. כדי לעשות זאת, צריך להעביר את המתג של השבתת עוצמת הקול המוחלטת למצב השבתה.

קודקים מתקדמים של אודיו

ב-Android 8.0, מכשירים שמשתמשים בפרופיל המתקדם להפצת אודיו (A2DP) יכולים לתמוך בקודי אודיו נוספים. סט פרוטוקולי ה-Bluetooth תומך במשא ומתן על קודק אודיו כשמכשירים מתחברים למקור אודיו מרוחק. במהלך המשא ומתן הזה נבחר רכיב ה-codec הטוב ביותר שנתמך גם על ידי השולח וגם על ידי ה-sink, כדי לספק אודיו באיכות גבוהה. אחרי הבחירה, כל האודיו מנותב דרך המקודד שנבחר ואז נשלח ליעד.

הטמעה

במכשירים עם Android 8.0 שתומכים ב-A2DP, התמיכה הנוספת בקודק מתקבלת באופן אוטומטי. יצרני מכשירים עשויים להצטרך לקבל רישיונות נפרדים ו-binary blobs עבור חלק מקובצי codec קנייניים של אודיו. בנוסף ל-SBC, ‏ Android 8.0 תומך בקודקים הבאים:

  • קובץ AAC
  • aptX
  • aptX HD
  • LDAC

יצרני מכשירים יכולים לבחור באילו קודקים המכשירים שלהם ינסו להשתמש קודם. כדי להגדיר את העדיפויות של רכיבי ה-codec, משנים את הערכים הבאים בקובץ res/values/config.xml:

  <!-- Configuring priorities of A2DP source codecs. Larger value means
          higher priority. Value -1 means the codec is disabled.
          Value 0 is reserved and should not be used here. Enabled codecs
          should have priorities in the interval [1, 999999], and each
          priority value should be unique. -->
        <integer name="a2dp_source_codec_priority_sbc">1001</integer>
        <integer name="a2dp_source_codec_priority_aac">2001</integer>
        <integer name="a2dp_source_codec_priority_aptx">3001</integer>
        <integer name="a2dp_source_codec_priority_aptx_hd">4001</integer>
        <integer name="a2dp_source_codec_priority_ldac">5001</integer>
      

אישור LDAC

פרויקט הקוד הפתוח של Android כולל מקודד ל-Codec‏ LDAC של Sony, ולכן לא נדרש רישיון נפרד או Blob מ-Sony. כדי לשלב את קוד ה-Codec‏ LDAC במכשיר, צריך להירשם אצל Sony ולפעול לפי תהליך האישור של LDAC.

באתר האישורים של LDAC יש מסמכים על LDAC, כמו מפרטים ומדריכי הפעלה. באתר LDAC יש גם בדיקות אימות ויכולת פעולה הדדית למכשירים ניידים ולטאבלטים. שולחים את תוצאות הבדיקה שעברו בהצלחה אל Sony כדי להשלים את ההסמכה של LDAC.

תכונות בממשק המשתמש

בנוסף לתמיכה בקודקים נוספים, Android 8.0 מספקת הגדרה שפונה למשתמשים להשבתת קודקים של אודיו ב-Bluetooth באיכות HD. משתמש יכול להשבית את רכיבי ה-codec של HD על ידי מעבר אל הגדרות > מכשירים מחוברים > Bluetooth, לחיצה על סמל גלגל השיניים לצד ה-sink וביטול הסימון של תיבת הסימון אודיו באיכות HD.

יצרני מכשירים שמבצעים התאמה אישית של ההגדרות צריכים להטמיע דרך שבה המשתמשים יכולים להשבית את רכיבי ה-codec של HD.

העברת הודעות

העברת הודעות באמצעות Bluetooth מאפשרת למשתמשים לקרוא, לעיין ולכתוב הודעות SMS ממכשיר מרוחק. היכולת הזו שימושית במיוחד כשמחברים טלפון למערכת מידע ובידור ברכב.

טלפוניה

שירותי טלפוניה ב-Bluetooth מאפשרים למשתמשים להזרים שיחות ולסנכרן אנשי קשר מטלפון למכשיר Bluetooth אחר. התכונות האלה משמשות בדרך כלל לביצוע שיחות ללא מגע ידני בזמן נהיגה.

ב-Android 8.0, ‏ Bluetooth תומך בצליל התראה בתוך פס התדרים. כשמגיע לטלפון שמחובר באמצעות Bluetooth שיחה נכנסת, הצלצול מושמע ב-sink. מפעילים את האפשרות 'הפעלת צלצול בתוך פס התדרים' בהגדרות > מערכת > אפשרויות למפתחים.

תכונות Bluetooth

כדי להטמיע את שירותי ה-Bluetooth, מחסנית ה-Bluetooth תומכת במגוון פרופילים ותכונות.

פרופילים של Bluetooth

הפרופילים הבאים זמינים ל-Bluetooth:

תכונה גרסת Android
שם תיאור 6.0 7.0 7.1 ‫7.1.2 ‫8.0
SAP פרופיל גישה לכרטיס SIM 1.1 1.1 1.1 1.1 1.1
MAP פרופיל גישה להודעות SMS 1.2 1.2 1.2 1.2 1.2
OPP פרופיל Object Push 1.1 1.1 1.1 1.1 1.2
OBEX over L2CAP OBject EXchange over Logical Link Control and Adaptation Protocol כן כן כן כן כן
HFP Audio Gateway פרופיל לשימוש בדיבורית 1.6 1.6 1.7 1.7 1.7
HSP Headset Profile 1.2 1.2 1.2 1.2 1.2
A2DP Advanced Audio Distribution Profile 1.2 1.2 1.2 1.2 1.2
AVRCP Audio/video Remote Control Profile ‫1.3 ‫1.3 ‫1.3 ‫1.3 1.4
HID פרופיל של מכשיר ממשק אנושי 1.0 1.0 1.0 1.0 1.0
PBAP פרופיל גישה לספר טלפונים 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP פרופיל של מכשיר בריאות 1.0 1.0 1.1 1.1 1.1
SPP פרופיל של יציאה טורית 1.2 1.2 1.2 1.2 1.2
PAN / BNEP פרופיל לרשת אזור אישית (PAN) / פרוטוקול לאינקפסולציה של רשת Bluetooth 1.0 1.0 1.0 1.0 1.0
DIP פרופיל מזהה מכשיר ‫1.3 ‫1.3 ‫1.3 ‫1.3 ‫1.3
HOGP 1.0 HID over GATT כן כן כן כן כן
אודיו באיכות HD מידע נוסף על קודקים מתקדמים של אודיו ההטמעה תלויה ביכולות המכשיר, גם במקור וגם ביעד. לא לא לא לא כן

תכונות של Bluetooth עם צריכת אנרגיה נמוכה

התכונות הבאות זמינות ב-BLE:

תכונה גרסת Android
שם 6.0 7.0 7.1 ‫7.1.2 ‫8.0
חיבורים מאובטחים של BR/EDR 4.1 4.1 4.1 4.1 5.0
LE Privacy ‫4.2 ‫4.2 ‫4.2 ‫4.2 5.0
חיבורים מאובטחים של LE ‫4.2 ‫4.2 ‫4.2 ‫4.2 5.0
תוספים של חבילות נתונים ‫4.2 ‫4.2 ‫4.2 ‫4.2 5.0
מזהי UUID של 32 ביט כן כן כן כן כן
מצב כפול LE מרכזי/היקפי כן כן כן כן כן
מצב ציוד היקפי LE כן כן כן כן כן
דרישות של Google HCI כן כן כן כן כן
LE Connection-Oriented Channels לא לא לא לא לא