-
Notifications
You must be signed in to change notification settings - Fork 10
الشرح بالعربي
قامت قوقل مؤخراً مع الاصدار الجديد للاندرويد 6 باضافة خاصية او ميزة جديدة لطلب الصلاحيات في التطبيقات, فاصبح بامكان المستخدم الموافقة او رفض اي صلاحية يطلبها البرنامج عن طريق رسالة تعرض للمستخدم, هذه الخاصية تعطي المستخدم فكرة كاملة عن كل صلاحية ولماذا المطور هو بحاجة لها, بالطبع لتنفيذ هذا الامر برمجياً يحتاج بعض الخطوات الطويلة, لذلك قام بعض المطورين بكتابة بعض المكتبات التي تسهل هذه العملية ومن احد هذه المكتبات هي مكتبة Gota التي قمت مؤخراً بكتابتها ونشرها على حسابي في الـ GitHub.
Gota هي مكتبة تساعدك في طلب عدد غير محدود من الصلاحيات عن طريق بعض الاسطر البسيطة, كل ماتحتاجه هو اضافة المكتبة في مشروعك ومن ثم تقوم بانشاء Object من Gota
وتقوم بتمرير الصلاحيات التي تحتاجها.
<dependency>
<groupId>net.alhazmy13.Gota</groupId>
<artifactId>libary</artifactId>
<version>(LAST_VERSION)</version>
</dependency>
dependencies {
compile 'net.alhazmy13.Gota:libary:(LAST_VERSION)'
}
بعد اضافتك للمكتبة فانت بحاجة الى انشاء Object من Gota
وتقوم بتمرير الصلاحيات المطلوبة عن طريق مصفوفة من نوع String[] وايضا تقوم بتمرير OnRequestPermissionsBack
.
OnRequestPermissionsBack
تقوم بارجاع Object من نوع GotaResponse
تستطيع من خلاله معرفة هل قام المستخدم بالموافقة على الصلاحيات او رفضها, وتستطيع استرجاع جميع الصلاحيات المقبولة او المرفوضة من قبل المستخدم وذلك عن طريق بعض الـ Methodes من بينها:
-
deniedPermissions()
تقوم بارجاع مصفوفة من نوع String تحتوي على جميع الصلاحيات المرفوضة من قبل المستخدم -
grantedPermissions()
تقوم بارجاع مصفوفة من نوع String تحتوي على جميع الصلاحيات المرفوضة من قبل المستخدم -
isGranted(String)
اذا اردت معرفة هل قام المستخدم بالموافقة على صلاحية محددة او لا؟ فتستطيع تمرير الصلاحية لهذه الميثود وسترجع لك متغير من نوع Boolean -
isDenied(String)
مثل السابقة ولكن تحدد لك هل الصلاحية مرفوضة او لا -
isAllGranted()
للتاكد من ان جميع الصلاحيات مقبولة من قبل المستخدم *isAllDenied()
للتاكد من ان جميع الصلاحية مرفوضة من قبل المستخدمhasDeniedPermission()
لمعرفة هل قام المستخدم برفض اي صلاحية او لا