أذونات Android

تهدف أذونات Android إلى حماية خصوصية مستخدم Android. كما أنها تخبر المستخدم عندما تريد التطبيقات الوصول إلى أنواع البيانات الحساسة مثل جهات الاتصال أو الصور وميزات النظام مثل الموقع أو اكتشاف الخطوات. يمنح المستخدمون هذه الأذونات عند تنزيل تطبيقك لأول مرة.

إذا كان تطبيقك بحاجة إلى الوصول إلى أي من أنواع البيانات هذه (مجموعة فرعية من أنواع بيانات Google Fit)، يمكنك طلب إذن Android ذي الصلة قبل طلب أذونات OAuth. انظر أدناه.

مثال على شاشة الموافقة على أذونات Android
الشكل 1.شاشة الموافقة على أذونات Android.

أنواع البيانات التي تحتاج إلى أذونات 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

تعرّف على مزيد من المعلومات حول طلب أذونات Android وإذن التعرّف على النشاط البدني وإذن تحديد الموقع الجغرافي الدقيق وإذن أجهزة استشعار الجسم.

للوصول إلى أنواع البيانات أعلاه باستخدام واجهات Google Fit API، عليك تنفيذ المنطق للتعامل مع طلب أذونات Android لكل من Android 10 والإصدارات السابقة من Android. تستخدم هذه الأمثلة إذن ACTIVITY_RECOGNITION.

Android 10

لكي يتمكّن تطبيقك من استهداف المستوى 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 من نظام Android والإصدارات الأقدم

بحيث يمكن أن يستهدف تطبيقك المستوى 28 من واجهة برمجة التطبيقات أو أقل:

  1. اطلب الإذن com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. أضِف الإذن إلى ملف البيان.

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