הרשאות ב-Android נועדו להגן על הפרטיות של משתמשי Android. הם מתבקשים משתמשים באפליקציות שרוצים לגשת לסוגי נתונים של מידע אישי רגיש כמו אנשי קשר או תמונות. תכונות מערכת כמו זיהוי מיקום או זיהוי צעדים. המשתמשים מעניקים את ההרשאות האלה בפעם הראשונה שמורידים את האפליקציה.
אם לאפליקציה שלכם נדרשת גישה לאחד מסוגי הנתונים האלה. (קבוצת משנה של סוגי הנתונים ב-Google Fit), מבקשים הרשאה ל-Android לפני בקשת הרשאות OAuth. ראו פרטים בהמשך.
![דוגמה למסך ההסכמה להרשאות ב-Android](https://developers.google.cn/static/fit/images/android_permissions.png?authuser=7&hl=he)
סוגי נתונים שנדרשים להם הרשאות ב-Android
כדי לגשת לנתונים מהסוגים הבאים של פעילות גופנית, צריך לבקש הרשאת ACTIVITY_RECOGNITION
ב-Android:
כדי לתעד את סוגי הנתונים האלה:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
כדי לקרוא את סוגי הנתונים האלה:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
כדי לגשת לסוגי הנתונים האלה, צריך לבקש את ההרשאה ACCESS_FINE_LOCATION
ל-Android:
- כדי לקרוא את סוגי הנתונים האלה:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
כדי לתעד את סוגי הנתונים האלה, צריך לבקש את ההרשאה BODY_SENSORS
ל-Android:
com.google.heart_rate.bpm
בקשת הרשאות ל-Android
למידע נוסף על בקשת הרשאות ב-Android, הרשאה לזיהוי פעילות פיזית, הרשאת מיקום מדויקת והרשאת חיישנים גופניים.
כדי לגשת לסוגי הנתונים שמפורטים למעלה באמצעות ממשקי ה-API של Google Fit, צריך
להטמיע לוגיקה לטיפול בבקשות הרשאות של Android גם ל-Android 10 וגם
בגרסאות הקודמות של Android. בדוגמאות האלה נעשה שימוש בהרשאה ACTIVITY_RECOGNITION
.
Android 10
כדי שהאפליקציה תוכל לטרגט רמת API 29 ומעלה, צריך לבקש הרשאה משתמש ולרשום את ההרשאה בקובץ המניפסט של האפליקציה.
מוסיפים את ההרשאה לקובץ המניפסט.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
-
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
אם עדיין לא ניתנה ההרשאה, מבקשים אותה:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android מגרסה 9 ומטה
לכן, האפליקציה שלכם תוכל לטרגט את רמת ה-API ברמה 28 ומטה:
צריך לבקש את ההרשאה ל
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.מוסיפים את ההרשאה לקובץ המניפסט.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>