- اندروید
- زمان < 1 دقیقه
اجازه دسترسی ها بعد از اینکه گوگل اندروید مارشمالو را ارائه کرد، بصورت در حال اجرا هم باید گرفته شود.
کاربر این اجازه را دارد که زمان اجرای کد هم بتواند تایید یا رد بکند.
نوشتن کد اجازه دسترسی به کاربر نیازمند کدنویسی زیادی و خسته کننده ای برای برنامه نویس دارد.
در این مقاله سعی بر ساده سازی این کار با استفاده از کتابخانه Dexter داریم
۱ – کتابخانه dexter
ابتدا کد زیر را در فایل build.gradle قرار دهید
dependencies { // Dexter runtime permissions implementation 'com.karumi:dexter:4.2.0' }
۱ – ۱ ارسال درخواست تکی
برای ارسال یک درخواست تکی باید از withPermission() استفاده کنید.
onPermissionGranted() وقتی که دسترسی داده شد می آید.
onPermissionDenied() برای وقتی که اجازه رد شد استفاده می شود.
مثالی از نمونه کر برای درخواست دوربین :
Dexter.withActivity(this) .withPermission(Manifest.permission.CAMERA) .withListener(new PermissionListener() { @Override public void onPermissionGranted(PermissionGrantedResponse response) { // permission is granted, open the camera } @Override public void onPermissionDenied(PermissionDeniedResponse response) { // check for permanent denial of permission if (response.isPermanentlyDenied()) { // navigate user to app settings } } @Override public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token) { token.continuePermissionRequest(); } }).check();
همچنین می توانید با قرار دادن PermissionRequestErrorListener خطاهای موجود را مدیریت کنید
Dexter.withActivity(this) .withPermissions( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION) .withListener(listener) .withErrorListener(new PermissionRequestErrorListener() { @Override public void onError(DexterError error) { Toast.makeText(getApplicationContext(), "Error occurred! " + error.toString(), Toast.LENGTH_SHORT).show(); } }) .check();
می توانید مطالب بیشتری در زمینه طراحی و برنامه نویسی اپلیکیشن را اینجا ببینید
می توانید مطالب بیشتری را اینجا ببینید
دیدگاه خود را بیان کنید