הרשאות Android נועדו להגן על הפרטיות של משתמשי Android. הוא מבקש מהמשתמש כשאפליקציות מעוניינות לגשת לסוגי נתונים שמכילים מידע אישי רגיש כמו אנשי קשר או תמונות, וגם תכונות מערכת כמו זיהוי מיקום או זיהוי שלב. המשתמשים מעניקים את ההרשאות האלה בהורדה הראשונה של האפליקציה.
אם האפליקציה שלכם צריכה גישה לאחד מסוגי הנתונים האלה (קבוצת משנה של סוגי הנתונים של Google Fit), עליכם לבקש את ההרשאה הרלוונטית ל-Android לפני שתבקשו את הרשאות OAuth. מידע נוסף
סוגי נתונים שמחייבים הרשאות ל-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
כדי לתעד את סוגי הנתונים האלה, צריך לבקש את ההרשאה ל-Android ב-BODY_SENSORS
:
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"/>