שירותי Bluetooth

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

אודיו

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

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

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

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

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

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

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

הטמעה

במכשירים עם Android 8.0 שתומכים ב-A2DP, התמיכה הנוספת בקודק מתקבלת באופן אוטומטי. יצרני מכשירים עשויים להזדקק לרישיונות נפרדים ול-binary blobs עבור חלק מקודקי האודיו הקנייניים. בנוסף ל-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 ‏ (AOSP) כולל מקודד ל-codec‏ LDAC של Sony, כך שלא נדרש רישיון נפרד או blob מ-Sony. כדי לשלב את קודק LDAC במכשיר, צריך להירשם אצל סוני ולפעול לפי תהליך האישור של LDAC.

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

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

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

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

העברת הודעות

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

טלפוניה

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

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

תכונות 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
מפה פרופיל גישה להודעות SMS ‫1.2 ‫1.2 ‫1.2 ‫1.2 ‫1.2
OPP פרופיל של העברת אובייקטים 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 פרופיל אוזניות ‫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) / פרוטוקול לאיגום נתונים (Encapsulation) של רשת 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 Audio מידע נוסף על קודקים מתקדמים של אודיו ההטמעה תלויה ביכולות של המכשיר, גם במקור וגם ביעד. לא לא לא לא כן

תכונות של 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 ‫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 לא לא לא לא לא