هدف مجوزهای اندروید محافظت از حریم خصوصی کاربران اندروید است. زمانی که برنامهها میخواهند به انواع دادههای حساس مانند مخاطبین یا عکسها و ویژگیهای سیستم مانند مکان یا تشخیص گام دسترسی داشته باشند، از کاربر درخواست میکنند. کاربران در اولین بارگیری برنامه شما این مجوزها را می دهند.
اگر برنامه شما نیاز به دسترسی به هر یک از این انواع داده دارد (زیرمجموعه ای از انواع داده های Google Fit)، قبل از درخواست مجوزهای 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
-
برای ضبط این نوع دادهها، باید مجوز BODY_SENSORS
Android را درخواست کنید :
-
com.google.heart_rate.bpm
درخواست مجوز اندروید
درباره درخواست مجوزهای Android ، مجوز تشخیص فعالیت بدنی ، مجوز مکان دقیق ، و مجوز حسگرهای بدن اطلاعات کسب کنید.
برای دسترسی به انواع دادههای بالا با APIهای Google Fit، باید منطقی را برای رسیدگی به درخواست مجوزهای Android برای Android 10 و نسخههای قبلی Android پیادهسازی کنید. این نمونه ها از مجوز ACTIVITY_RECOGNITION
استفاده می کنند.
اندروید 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)
اندروید 9 و پایین تر
بنابراین برنامه شما می تواند سطح API 28 یا پایین تر را هدف قرار دهد:
مجوز
com.google.android.gms.permission.ACTIVITY_RECOGNITION
را درخواست کنید.مجوز را به فایل مانیفست اضافه کنید .
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>