آموزش Basic4Android

تعریف دسترسی های برنامه در اندروید 6 به بالا

آموزش تعريف دسترسي هاي برنامه براي اندرويد 6 به بالا در بيسيک فور اندرويد

سلام دوستان !

در این بخش میخواهیم نحوه تعریف دسترسی ها و مجوز های برنامه در بیسیک فور اندروید را خدمت شما عزیزان توضیح دهیم ! در اندروید 6 به بالا یکسری تغییرات مربوط به برنامه ها انجام شده است . برای مثال گاهی موقع برای ایجاد یک فایل در گوشی یا دسترسی به دوربین , شماره ها یا سایر بخش ها ممکن است ارور هایی مانند تصویر زیر را مشاهده کنید :

در واقع برای رفع این ارور باید با توجه به قابلیت های برنامه خودتان , یکسری دسترسی ها را اضافه کنید و از کاربر درخواست کنید که آنها را تایید کند تا برنامه به درستی کار بکند . دسترسی هایی مانند اینترنت و … نیاز به کار خاصی ندارند اما برای دسترسی به فایل های گوشی یا مثلا دسترسی به دوربین , مخاطبین , تماس و … لازم است دسترسی مربوط به آن را ایجاد کنید .

برای اینکار به کتابخانه RuntimePermissions نیاز داریم ! این کتابخانه به صورت پیشفرض در لیست کتابخانه های اصلی بیسیک فور اندروید موجود میباشد . ابتدا این کتابخانه را فعال کنید و متغیر مربوط به آن را در بخش Process_Globals تعریف کنید :

Dim rp As RuntimePermissions

سپس در بخشی که میخواهید کادر درخواست تایید دسترسی ها نمایش داده شوند از دستور CheckAndRequest استفاده کنید . برای مثال ما میخواهیم از کاربر درخواست کنیم که به برنامه ما اجازه دسترسی به دوربین و فایل ها را بدهد :

rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
rp.CheckAndRequest(rp.PERMISSION_CAMERA)

همچنین به غیر از این لازم است کد مربوط به این دسترسی ها را در Manifest نیز قرار دهید :

AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
AddPermission(android.permission.CAMERA)

و در پایان باید یک بخش با نام PermissionResult ایجاد کنید . با استفاده از این بخش میتوانید بفهمید که کاربر به برنامه این دسترسی ها را داده است یا نه :

Sub Activity_PermissionResult (Permission As String, Result As Boolean)
  
End Sub

این بخش را حتما باید ایجاد کنید و در غیر اینصورت برنامه ارور میدهد . میتوانید مانند کد بالا این بخش را خالی بگذارید یا با استفاده از کد زیر میتوانید بفهمید که کاربر کدام یک از دسترسی ها را تایید کرده است . برای مثال میخواهیم در صورتی که کاربر دسترسی به دوربین را غیر فعال کند یک پیغام نمایش داده شود :

Sub Activity_PermissionResult (Permission As String, Result As Boolean)
  If Permission = rp.PERMISSION_CAMERA And Result = False Then
    Msgbox("شما اجازه دسترسی به دوربین را به این برنامه نداده اید و در اینصورت ممکن است برخی از بخش های برنامه به درستی کار نکنند","")
  End If
End Sub

حالا اگر از برنامه خروجی بگیرید . در اندروید 6 به بالا یک کادر مانند تصویر زیر نمایش داده میشود :

مطلب پیشنهادی :   اینتنت های ایران اپس

کاربر باید گزینه ALLOW را انتخاب کنید تا دسترسی مربوطه به برنامه داده شود . بهتر است قبل از اینکه این کادر را نمایش دهید یک پیغام به کاربر نمایش دهید و راهنمایی کنید که حتما ALLOW را انتخاب کند و به برنامه شما اجازه دسترسی بدهد . در غیر اینصورت ممکن است برخی از بخش های برنامه شما به درستی کار نکنند و ارور نمایش داده میشود …

در پایان امیدواریم که این آموزش هم مورد استفاده شما عزیزان قرار گرفته باشد .

موفق باشید !

شما هم به کانال تلگرامی سایت ما بپیوندید !
همین حالا کلیک کنید !

درباره نویسنده

حامد باقری

2 نظر

  • بسیار عالی مرسی . اما چجوری باید وضعیت دسترسی رو چک کنیم که مثلا برنامه دسترسی رو نیاز داره یا نداره برای درخواست
    با تشکر

    • سلام . نیازی به این کار نیست و کادر درخواست مجوز فقط یکبار نمایش داده میشه و در صورتی که کاربر اون را تایید کرده باشه دیگه نمایش داده نمیشه و در ضمن فقط در اندروید 6 به بالا نمایش داده میشه …

نظر بدهید