مجوزهای اندروید

هدف مجوزهای اندروید محافظت از حریم خصوصی کاربران اندروید است. زمانی که برنامه‌ها می‌خواهند به انواع داده‌های حساس مانند مخاطبین یا عکس‌ها و ویژگی‌های سیستم مانند مکان یا تشخیص گام دسترسی داشته باشند، از کاربر درخواست می‌کنند. کاربران در اولین بارگیری برنامه شما این مجوزها را می دهند.

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

نمونه ای از صفحه رضایت مجوزهای Android
شکل 1. صفحه رضایت مجوزهای اندروید.

انواع داده هایی که به مجوز اندروید نیاز دارند

برای دسترسی به این نوع داده‌های فعالیت بدنی، باید مجوز 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 یا بالاتر را هدف قرار دهد، مجوز را از کاربر درخواست کند و مجوز را در فایل مانیفست برنامه ثبت کند.

  1. مجوز را به فایل مانیفست اضافه کنید .

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. بررسی کنید که آیا مجوز داده شده است :

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. اگر مجوز قبلاً داده نشده است، مجوز را درخواست کنید:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

اندروید 9 و پایین تر

بنابراین برنامه شما می تواند سطح API 28 یا پایین تر را هدف قرار دهد:

  1. مجوز com.google.android.gms.permission.ACTIVITY_RECOGNITION را درخواست کنید.

  2. مجوز را به فایل مانیفست اضافه کنید .

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>