آموزش RunTime Permission در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به آموزش RunTime Permission در برنامه نویسی اندروید می پردازیم. شاید سوال شما این باشد که این دسترسی در زمان اجرا یا Runtime Permission به چه دردی می خورند و اصلا کاربردی دارند؟ زمانی که کاربر دارد اپلیکیشن شما را نصب می کند در بخش permission هیچ دسترسی نشان داده نمی شود ! و گفتنی است که RunTime Permission از Api 23 یا Marshmallow وارد اندروید شده است و زمانی که شما در خال ساخت پروژه خود هستید باید MinSdk را برابر با 23 قرار دهید همانطور که گفتیم این دسترسی ها به کاربر نمایش داده نمی شود اما به جای آن از در هنگام استفاده از برنامه پرسیده می شود که آیا اجازه میدهید این اپ به طور مثال از اینترنت استفاده کند و دقت کنید شما باید همانند قبل دسترسی ها را در AndroidManifest.xml قرار دهید. در ادامه به مثالی از نحوه استفاده از آن می پردازم.
ما به یکسری از دسترسی های می پردازیم بقیه ی آنها نیز به همین شکل هستند.
ابتدا فایل AndroidManifest.xml را باز کرده دسترسی ها را اضافه کنید.

فایل Activity_main.xml را باز کرده کدهای زیر را در آن قرار دهید در ادامه آنها را توضیح می دهیم.

در بالا تعدادی دکمه است با کلیک کردن بروی آنها اجزای دسترسی از کاربر گرفته می شود.
layout شما همانند زیر می شود.

 
بعد از نصب برنامه یک صفحه برای شما می آید (فقط در گوشی هایی با API 23 به بالا) که از شما می پرسد آیا می خواهید این برنامه این دسترسی ها را داشته باشد شما همه را فعال کرده تا تست برنامه را ببینید (همانند عکس زیر)

 
کد های زیر بعد از Oncreate قرار دهید(قبل از آخرین علامت آکولاد بسته زیرا این یک void است  )

در صورتی که شما در مرحله قبل دسترسی ها را باز نکرده باشید ما یک Void داریم که تشخیص می دهد که آیا شما آن دسترسی ها را داده اید یا خیر البته این void دو مقدار ورودی دارد به خاطر اینکه ما می خواهیم چندین دسترسی را بررسی کنیم به این شکل آن را ایجاد کرده ایم و در صورتی که قبلا این دسترسی را داده باشید با پیام permission is already granted روبه رو خواهید شد.
این void ما دو مقدار ورودی دارد اولی نام آن که به صورت رشته است و دومی کد دسترسی آن که از نوع عددی (integer) است.
کد زیر را هم بعد از Oncreate اضافه کنید.

 
این کد برای این است که برنامه تشخصی دهد شما روی چه دکمه ای کلیک کرده اید و بعد از کلیک یک پیام به شما نمایش میدهد که آیا شما اجزای دسترسی می دهید یا خیر .
همانطور که گفتیم آن Void ما مقدار ورودی دوم ان به صورت عددی است و نیاز دارد تا مقداری برای آن فرستاده شود برای همین باید کد زیر را قبل از Oncreate اضافه کنید.

عدد های بالا مقدار های عددی هر یک از دسترسی ها است.
برای اینکه بعد تایید یا رد کردن دسترسی توسط کاربر ما کاری انجام دهیم (زمانی که به ما دسترسی میدهد یا نمی دهد)
باید کد زیر را اضافه کنید.

 
کد های بالا یک request برای انجام یک کار به طور مثال نوشتن در حافظه یا خواندن از جافظه می فرستد و قبل از آن از کاربر می خواهد که دسترسی آن کار را بدهد در صورتی که دسترسی دهد پیام Permission Granted و در صورتی که نپذیر پیام Permission denied نمایش داده می شود.
این آموزش هم به پایان رسید .
 
موفق باشید.

مطالعه بیشتر