במכשירי Android 13 ו-Wear OS 4, אפליקציות יכולות לגשת לחיישנים גופניים, כדופק, ברקע. מודל הגישה החדש דומה למודל שיצרה גישה למיקום ברקע ב-Android 10 (רמת API 29).
אם האפליקציה צריכה לגשת ברקע למידע מחיישנים גופניים, למשל בזמן
מעקב ברקע אחר הנתונים של שירותי הבריאות, צריך לבקש
BODY_SENSORS_BACKGROUND
.
כפי שמתואר בדף שיטות מומלצות בנושא פרטיות, אפליקציות צריכות לבקש רק
ההרשאה BODY_SENSORS_BACKGROUND
כאשר היא חיונית למשתמש
חדשה, ועליהם לחשוף זאת כראוי למשתמשים.
תהליך הענקת ההרשאה תלוי ביעד ה-SDK של האפליקציה .
האפליקציה מטרגטת ל-Android מגרסה 13 ואילך
בנוסף להרשאה הקיימת ב-BODY_SENSORS
, צריך להצהיר על
ההרשאה BODY_SENSORS_BACKGROUND
בקובץ המניפסט:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
לאחר מכן, האפליקציה חייבת לבקש את ההרשאות בפעולות נפרדות:
- צריך לבדוק אם נתת את ההרשאה
BODY_SENSORS
. אם לא, צריך לבקש הרשאה. - צריך לבדוק אם נתת את ההרשאה
BODY_SENSORS_BACKGROUND
. אם לא, מבקשים הרשאה.
זהירות: אם האפליקציה מבקשת הרשאות של חיישנים גופניים באותו זמן, המערכת מתעלמת מהבקשה ולא מעניקה גם את האפליקציה שלך הרשאה.
ב-Android מגרסה 13 (רמת API 33) ואילך, תיבת הדו-שיח של ההרשאה שבתחילת ההפעלה לא
צריך לכלול את הטקסט 'כן, כל הזמן' כאפשרות. במקום זאת, המשתמשים צריכים להפעיל כל הזמן
גישה מחיישן הרקע דרך הגדרות המערכת, כפי שמוצג באיור 1. אחרי ש
לבקש את ההרשאה BODY_SENSORS_BACKGROUND
אחרי שהענקתם את
הרשאת BODY_SENSORS
, יש לך אפשרות לעזור למשתמשים לנווט לדף ההגדרות הזה. אם המיקום
המשתמשים דוחים את הגישה כל הזמן, הם אמורים להיות מסוגלים להמשיך להשתמש
אפליקציה.
האפליקציה מטרגטת גרסה קודמת
כשהאפליקציה מטרגטת גרסת Android שקודמת ל-Android 13, ברקע
לא ניתנת גישה באופן אוטומטי כשמבקשים BODY_SENSORS
הרשאה. במקום זאת, המשתמשים יראו תיבת דו-שיח של המערכת שמזמינה את המשתמשים לעבור אל
הגדרות הרשאות החיישן של האפליקציה, כפי שמוצג באיור 2. לאחר מכן המשתמשים צריכים
להפעיל את השימוש בחיישן הרקע בדף ההגדרות הזה.
המשתמשים יכולים לדחות את הגישה ברקע. יש לזה אותה השפעה כמו ביטול
הרשאה BODY_SENSORS
בזמן שהאפליקציה פועלת ברקע. כאשר
האפליקציה משתמשת ב-PassiveMonitoringClient
ללא הרשאת גישה ברקע
ועוברת לרקע, האפליקציה מאבדת את ההרשאה BODY_SENSORS
.
הקריאה החוזרת (callback) של onPermissionLost()
. מהסיבות האלה,
חשוב במיוחד ליישם שיטות מומלצות לבקשת זמן ריצה
הרשאות.