4
1 Liked

صلاحيات 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

4 Comments

  • M_FATANI

    January 02, 01 2016 05:20:19

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

  • 3llomi

    February 27, 02 2016 12:30:04

    شكرا جزيلا , بس ياريت لو تدعم API 15 وشكراً

    • 3llomi

      February 27, 02 2016 12:31:06

      اقصد يكون min API 15

      • Abdullah Alhazmy

        February 29, 02 2016 01:27:56

        سيتم دعمه في التحديث القادم باذن الله

Leave a Reply