הרשאות Android נועדו להגן על הפרטיות של משתמשי Android. הן מציגות בקשה למשתמש כשאפליקציות רוצות לגשת לסוגי נתונים של מידע אישי רגיש כמו אנשי קשר או תמונות, ולתכונות מערכת כמו מיקום או זיהוי צעדים. המשתמשים מעניקים את ההרשאות האלה כשהם מורידים את האפליקציה בפעם הראשונה.
אם האפליקציה שלכם צריכה גישה לאחד מסוגי הנתונים האלה (קבוצת משנה של סוגי הנתונים ב-Google Fit), צריך לבקש את הרשאת Android הרלוונטית לפני שמבקשים את הרשאות OAuth. מידע נוסף מופיע בהמשך.
סוגי נתונים שנדרשות לגביהם הרשאות ב-Android
כדי לגשת לסוגי הנתונים האלה של פעילות גופנית, צריך לבקש את הרשאת ACTIVITY_RECOGNITION Android:
כדי לתעד את סוגי הנתונים האלה:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.calories.expended
כדי לקרוא את סוגי הנתונים האלה:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.activity.exercise
כדי לגשת לסוגי הנתונים האלה, צריך לבקש את הרשאת Android ACCESS_FINE_LOCATION:
- כדי לקרוא את סוגי הנתונים האלה:
com.google.distance.deltacom.google.location.samplecom.google.location.bounding_boxcom.google.speed
כדי לתעד את סוגי הנתונים האלה, צריך לבקש את הרשאת Android BODY_SENSORS:
com.google.heart_rate.bpm
שליחת בקשה להרשאות Android
מידע נוסף על בקשת הרשאות ב-Android, על הרשאת זיהוי פעילות גופנית, על הרשאת מיקום מדויק ועל הרשאת גישה לחיישנים גופניים
כדי לגשת לסוגי הנתונים שלמעלה באמצעות Google Fit APIs, צריך להטמיע לוגיקה לטיפול בבקשות להרשאות 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"/>