صلاحيات RunTimePermission ومكتبة Gota

قامت قوقل مؤخراً مع الاصدار الجديد للاندرويد 6 باضافة خاصية او ميزة جديدة لطلب الصلاحيات في التطبيقات, فاصبح بامكان المستخدم الموافقة او رفض اي صلاحية يطلبها البرنامج عن طريق رسالة تعرض للمستخدم, هذه الخاصية تعطي المستخدم فكرة كاملة عن كل صلاحية ولماذا المطور هو بحاجة لها, بالطبع لتنفيذ هذا الامر برمجياً يحتاج بعض الخطوات الطويلة, لذلك قام بعض المطورين بكتابة بعض المكتبات التي تسهل هذه العملية ومن احد هذه المكتبات هي مكتبة Gota التي قمت مؤخراً بكتابتها ونشرها على حسابي في الـ GitHub.

ماهي Gota ؟

Gota هي مكتبة تساعدك في طلب عدد غير محدود من الصلاحيات عن طريق بعض الاسطر البسيطة, كل ماتحتاجه هو اضافة المكتبة في مشروعك ومن ثم تقوم بانشاء Object من Gota وتقوم بتمرير الصلاحيات التي تحتاجها.

Gota

تثبيت Gota

Maven

Gradle

التعامل مع Gota

بعد اضافتك للمكتبة فانت بحاجة الى انشاء Object من Gota وتقوم بتمرير الصلاحيات المطلوبة عن طريق مصفوفة من نوع String[] وايضا تقوم بتمرير OnRequestPermissionsBack.

التعامل مع OnRequestPermissionsBack

OnRequestPermissionsBack تقوم بارجاع Object من نوع GotaResponse تستطيع من خلاله معرفة هل قام المستخدم بالموافقة على الصلاحيات او رفضها, وتستطيع استرجاع جميع الصلاحيات المقبولة او المرفوضة من قبل المستخدم وذلك عن طريق بعض الـ Methodes من بينها:

  • deniedPermissions()
    • تقوم بارجاع مصفوفة من نوع String تحتوي على جميع الصلاحيات المرفوضة من قبل المستخدم
  • grantedPermissions()
    • تقوم بارجاع مصفوفة من نوع String تحتوي على جميع الصلاحيات المرفوضة من قبل المستخدم
  • isGranted(String)
    • اذا اردت معرفة هل قام المستخدم بالموافقة على صلاحية محددة او لا؟ فتستطيع تمرير الصلاحية لهذه الميثود وسترجع لك متغير من نوع Boolean
  • isDenied(String)
    • مثل السابقة ولكن تحدد لك هل الصلاحية مرفوضة او لا
  • isAllGranted()
    • للتاكد من ان جميع الصلاحيات مقبولة من قبل المستخدم
  • isAllDenied()
    • للتاكد من ان جميع الصلاحية مرفوضة من قبل المستخدم
  • hasDeniedPermission()
    • لمعرفة هل قام المستخدم برفض اي صلاحية او لا

 

رابط المكتبة

https://github.com/alhazmy13/Gota

Share:
4 comments on صلاحيات RunTimePermission ومكتبة Gota
M_FATANI
  • يناير 2 2016
  • رد
الله يعطيك ألف عافية مكتبة جدا مهمة ريحتني من كتابة اكواد كثيرة مبدع استمر الله يوفقك
3llomi
  • فبراير 27 2016
  • رد
شكرا جزيلا , بس ياريت لو تدعم API 15 وشكراً
    3llomi
    • فبراير 27 2016
    • رد
    اقصد يكون min API 15
      Abdullah Alhazmy
      • فبراير 29 2016
      • رد
      سيتم دعمه في التحديث القادم باذن الله

Post a comment

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *