مجوزهای اندروید با هدف محافظت از حریم خصوصی کاربر اندروید صادر میشوند. این مجوزها زمانی که برنامهها میخواهند به انواع دادههای حساس مانند مخاطبین یا عکسها و ویژگیهای سیستمی مانند موقعیت مکانی یا تشخیص قدم دسترسی پیدا کنند، به کاربر اطلاع میدهند. کاربران هنگام دانلود اولیه برنامه شما، این مجوزها را اعطا میکنند.
اگر برنامه شما نیاز به دسترسی به هر یک از این انواع داده (زیرمجموعهای از انواع داده Google Fit) دارد، قبل از درخواست مجوزهای OAuth، مجوز اندروید مربوطه را درخواست کنید. به زیر مراجعه کنید .

انواع دادههایی که به مجوزهای اندروید نیاز دارند
برای دسترسی به این نوع دادههای فعالیت بدنی، باید مجوز ACTIVITY_RECOGNITION اندروید را درخواست کنید :
برای ثبت این نوع دادهها:
-
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 اندروید را درخواست کنید :
- برای خواندن این نوع دادهها:
-
com.google.distance.delta -
com.google.location.sample -
com.google.location.bounding_box -
com.google.speed
-
برای ضبط این نوع دادهها، باید مجوز اندروید BODY_SENSORS را درخواست کنید :
-
com.google.heart_rate.bpm
درخواست مجوزهای اندروید
درباره درخواست مجوزهای اندروید ، مجوز تشخیص فعالیت بدنی ، مجوز موقعیت مکانی دقیق و مجوز حسگرهای بدن اطلاعات کسب کنید.
برای دسترسی به انواع دادههای فوق با APIهای Google Fit، باید منطقی را پیادهسازی کنید که درخواست مجوزهای اندروید را برای اندروید ۱۰ و نسخههای قبلی اندروید مدیریت کند. این مثالها از مجوز ACTIVITY_RECOGNITION استفاده میکنند.
اندروید ۱۰
بنابراین برنامه شما میتواند API سطح ۲۹ یا بالاتر را هدف قرار دهد، از کاربر درخواست مجوز کند و مجوز را در فایل مانیفست برنامه ثبت کند.
مجوز را به فایل مانیفست اضافه کنید .
<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)
اندروید ۹ و پایینتر
بنابراین برنامه شما میتواند سطح API 28 یا پایینتر را هدف قرار دهد:
درخواست مجوز
com.google.android.gms.permission.ACTIVITY_RECOGNITION.مجوز را به فایل مانیفست اضافه کنید .
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>