כדי שהאפליקציה תוכל לתקשר באמצעות Bluetooth או Bluetooth עם צריכת אנרגיה נמוכה,
עליך לוודא ש-Bluetooth נתמך במכשיר. אם כן,
צריך לוודא שהיא מופעלת. שימו לב שהבדיקה הזו נדרשת רק אם
המאפיין android:required
ברשומת קובץ המניפסט <uses-feature.../>
הוא
מוגדר ל-false
.
אם Bluetooth לא נתמך, יש להשבית באופן עדין את כל ה-Bluetooth לבינה מלאכותית גנרטיבית. אם Bluetooth נתמך אבל מושבת, אפשר לבקש משתמש מפעיל Bluetooth בלי לצאת מהאפליקציה.
השלב הראשון הוא הוספת הרשאות Bluetooth לקובץ המניפסט כדי להשתמש בממשקי ה-API הבאים.
לאחר קבלת ההרשאות, הגדרת Bluetooth מתבצעת בשני שלבים.
באמצעות BluetoothAdapter
:
להורדת
BluetoothAdapter
.BluetoothAdapter
נדרש לכל פעילות ב-Bluetooth.BluetoothAdapter
מייצג את מתאם ה-Bluetooth של המכשיר רדיו Bluetooth). כדי לקבלBluetoothAdapter
, צריךContext
. השתמשו בהקשר הזה כדי מופע שלBluetoothManager
שירות מערכת. אנחנו מתקשרים אלBluetoothManager#getAdapter
תיתן לכם אובייקטBluetoothAdapter
. אם הפונקציהgetAdapter()
מחזירה null, המכשיר לא תומך ב-Bluetooth.לדוגמה:
Kotlin
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java) val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter() if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Java
BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
הפעלת Bluetooth.
בשלב הבא, צריך לוודא שה-Bluetooth מופעל. שיחת טלפון
isEnabled()
עד בודקים אם Bluetooth מופעל כרגע. אם השיטה הזו מחזירה את הערך False, ה-Bluetooth מושבת. כדי לבקש שה-Bluetooth יופעל, צריך להתקשרstartActivityForResult()
מעבירACTION_REQUEST_ENABLE
פעולת Intent. השיחה הזו שולחת בקשה להפעלת Bluetooth דרך הגדרות המערכת (בלי לעצור את האפליקציה).לדוגמה:
Kotlin
if (bluetoothAdapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) }
Java
if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
מופיעה תיבת דו-שיח שבה המשתמש מבקש הרשאת משתמש כדי להפעיל Bluetooth, כפי שמוצג איור 1. אם המשתמש מעניק הרשאה, המערכת תתחיל להפעיל Bluetooth, והמיקוד יחזור לאפליקציה אחרי שהתהליך יסתיים (או נכשל).
איור 1. תיבת הדו-שיח להפעלת Bluetooth.
הקבוע REQUEST_ENABLE_BT
מועבר אל
startActivityForResult()
הוא מספר שלם שמוגדר באופן מקומי וחייב להיות שווה ל-0 או גדול ממנו. המערכת
מעביר את הקבוע הזה חזרה אליכם
onActivityResult()
בתור הפרמטר requestCode
.
אם הפעלת Bluetooth תצליח, הפעילות שלך תקבל את
קוד התוצאה RESULT_OK
ב
onActivityResult()
קריאה חוזרת (callback). אם ה-Bluetooth לא הופעל עקב שגיאה (או
המשתמש השיב "דחייה"), אז קוד התוצאה
RESULT_CANCELED
לחלופין, האפליקציה יכולה גם להאזין ל
ACTION_STATE_CHANGED
כוונת שידור, שהמערכת משדרת בכל פעם שמצב Bluetooth
שינויים. השידור הזה מכיל את השדות הנוספים
EXTRA_STATE
ו-
EXTRA_PREVIOUS_STATE
,
שכולל את מצב ה-Bluetooth החדש והישן, בהתאמה. ערכים אפשריים עבור
של השדות הנוספים האלה
STATE_TURNING_ON
STATE_ON
,
STATE_TURNING_OFF
,
ו-STATE_OFF
.
האזנה לשידור הזה יכולה להועיל אם האפליקציה צריכה לזהות זמן ריצה
שינויים שבוצעו במצב Bluetooth.
ברגע שה-Bluetooth מופעל במכשיר, אפשר להשתמש גם בגרסה הקלאסית של Bluetooth וגם Bluetooth עם צריכת אנרגיה נמוכה.
ב-Bluetooth הקלאסי, אפשר למצוא מכשירי Bluetooth וגם התחברות למכשירי Bluetooth.
עבור Bluetooth Low Energy, אפשר למצוא מכשירי BLE, להתחבר לשרת GATT וגם העברה של נתוני BLE.