באמצעות Bluetooth, מכשירים יכולים להעביר נתונים שאפשר להשתמש בהם בשירותים אינטראקטיביים כמו אודיו, הודעות וטלפוניה. אפשר למצוא את פרופילי ה-Bluetooth שמשמשים לשירותים שונים בכתובת include/hardware/bluetooth.h.
אודיו
חיבור Bluetooth מאפשר למשתמשים להזרים אודיו במכשירים עם Bluetooth. ברוב תרחישי השימוש באודיו, המכשיר שמבוסס על Android הוא המקור, והמכשיר שמעבד את האודיו, כמו רמקול או אוזניות, הוא היעד.
שליטה בעוצמת קול מוחלטת
ב-Android מגרסה 6.0 ואילך, מחסנית Bluetooth של Android מאפשרת למקור להגדיר עוצמת קול מוחלטת, וכך המשתמשים יכולים לשלוט בעוצמת הקול בצורה מדויקת. מכשיר המקור שולח אודיו ללא הנחתה ומידע על עוצמת הקול למכשיר היעד. לאחר מכן, הרכיב sink מגביר את האודיו בהתאם לנתוני עוצמת הקול, כך שהמשתמשים שומעים את עוצמת ההפעלה המדויקת.
במכשיר המקור אפשר גם להירשם לקבלת התראות על עוצמת הקול. כשמשנים את עוצמת הקול באמצעות אמצעי הבקרה ב-sink, ה-sink שולח התראה למקור. כך המקור יכול להציג בצורה מדויקת את פרטי עוצמת הקול בממשק משתמש.
בקרת עוצמת קול מוחלטת מופעלת כברירת מחדל. משתמש יכול להשבית את השליטה בעוצמת הקול המוחלטת בהגדרות > מערכת > אפשרויות למפתחים. לשם כך, צריך להעביר את המתג השבתת עוצמת הקול המוחלטת למצב מופעל.
קודקים מתקדמים של אודיו
ב-Android 8.0, מכשירים שמשתמשים בפרופיל המתקדם להפצת אודיו (A2DP) יכולים לתמוך בקודי אודיו נוספים. מערכת Bluetooth תומכת במשא ומתן על קודק אודיו כשמכשירים מתחברים למקור אודיו מרוחק. במהלך המשא ומתן הזה נבחר הקודק הטוב ביותר שנתמך גם על ידי השולח וגם על ידי ה-sink, כדי לספק אודיו באיכות גבוהה. אחרי הבחירה, המכשיר מעביר את כל האודיו דרך המקודד שנבחר ואז שולח אותו ל-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 של Sony LDAC, כך שלא נדרש רישיון או blob נפרד מ-Sony. כדי לשלב את קודק LDAC במכשיר, צריך להירשם אצל סוני ולפעול לפי תהליך האישור של LDAC.
באתר האישורים של LDAC יש מסמכים על LDAC, כמו מפרטים ומדריכי הפעלה. באתר LDAC יש גם בדיקות אימות ויכולת פעולה הדדית למכשירים ניידים ולטאבלטים. שולחים את תוצאות הבדיקה שעברו בהצלחה אל Sony כדי להשלים את ההסמכה ל-LDAC.
תכונות ממשק משתמש
בנוסף לתמיכה בקודקים נוספים, Android 8.0 מספקת הגדרה שפונה למשתמש להשבתת קודקים של אודיו ב-Bluetooth באיכות גבוהה (HD). משתמש יכול להשבית את רכיבי ה-codec של HD. לשם כך, הוא צריך לעבור אל הגדרות > מכשירים מחוברים > Bluetooth, להקיש על סמל גלגל השיניים לצד המקור ולבטל את הסימון של התיבה HD Audio.
יצרני מכשירים שמבצעים התאמה אישית של ההגדרות צריכים להטמיע דרך שבה משתמשים יכולים להשבית את רכיבי ה-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 | Headset profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| A2DP | פרופיל מתקדם להפצת אודיו | 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 | פרופיל של מכשיר ממשק אנושי (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 Audio | מידע נוסף על קודקים מתקדמים של אודיו ההטמעה תלויה ביכולות המכשיר, גם במקור וגם ביעד. | לא | לא | לא | לא | כן |
תכונות של Bluetooth עם צריכת אנרגיה נמוכה (BLE)
התכונות האלה זמינות ב-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 | לא | לא | לא | לא | לא |