در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

کار کردن با مجوز های اندروید

سلام به ITPRO های عزیز. سیستم عامل اندروید برای رعایت حریم خصوصی کاربران و یکپارچگی سیستم دسترسی هر کدام از برنامه ها را به بخش های مختلف محدود کرده است. اگر برنامه ای بخواهد به یک منبع خارج از محدوده خود دسترسی داشته باشد باید کاربر اجازه چنین کاری را به او بدهد. در این صورت مشخص می شود که برنامه مورد نظر مجوز دارد یا خیر. اندروید مجوز های بسیاری دارد که برنامه ها می توانند از آنها استفاده کنند.


معرفی مجوز ها


در هر پروژه اندرویدی برای این که کاربر مشخص کند که از کدام منابع استفاده خواهد کرد باید مجوز استفاده از آن را در فایل android.manifest را معرفی کند. با توجه به این که حساسیت یک مجوز چقدر بالا باشد اندروید می تواند آن مجوز را به صورت اتوماتیک به شما بدهد و یا از کاربر سوال کند. در اندروید های نسخه 5 و پایین تر مجوز ها هنگام نصب برنامه ازکاربر سوال می شوند. ولی در اندروید های 6 به بالا هنگام اجرا از شما سوالی پرسیده می شود که آیا مجوز مورد نظر را به برنامه می دهید یا خیر.


ازکجا بفهمیم که برنامه ما به چه مجوزهایی نیاز دارد؟


هنگامی که شما در حال توسعه یک برنامه برای اندروید هستید باید دقت داشته باشید که وقتی که از یک برنامه دیگر برای انجام کاری استفاده می کنید نیازی به گرفتن مجوز مورد نظر ندارید. برای مثال اگر شما قصد دارید که به مخاطبان دستگاه دسترسی داشته باشید باید مجوز READCONTACTS را بگیرید ولی اگر برای خواندن مخاطبان یک درخواست به برنامه contancts داشته باشید برنامه شما نیازی به مجوز READCONTACTS ندارید. ولی برنامه contacts به مجوز مورد نظر نیاز دارد. برای این که بدانید برنامه شما یه چه مجوز هایی احتیاج دارد نشانه اش این است که قسمت مربوطه که هنوز مجوز آن را معرفی نکرده ایم به درستی کار نخواهد کرد. برای مثال شما یک برنام دارید که عکس ها را از اینترنت لود می کند ولی مجوز دسترسی به اینترنت را به برنامه خود نداده اید. در این صورت برنامه برای لود کردن فایل مورد نظر خطا می دهد.


افزودن مجوز مورد نظر به پروژه


برای معرفی کردن یک مجوز به برنامه باید آن را داخل فایل androidmanifest با استفاده از تگ <uses-permission> استفاده می کنیم. دقت کنید که این تگ ها را در سطح بالای این فایل xml می نویسیم. در کد زیر یک مثال از دادن مجوز ها آورده شده است.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>
    

    <application ...>
        ...
    </application>

</manifest>


چک کردن این که آیا برنامه مجوز مورد نظر را دارد یا خیر


اگر برنامه شما نیاز به یک مجوز مهم داشته باشد بهتر است که قبل از این که از کلاس های مربوط به آن مجوز استفاده کنید ببینید برنامه مجوز مورد نظر را دارد یا خیر. برای چک کردن این که یک مجوز را دارا هستیم یا خیر از متد ContextCompat.checkSelfPermission() استفاده می کنیم. برای مثال اگر بخواهیم ببینیم که مجوز نوشتن در تقویم را داریم یا خیر از کد زیر استفاده می کنیم.

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
        Manifest.permission.WRITE_CALENDAR);

در کد بالا اگر مقدار بازگشتی permissionCheck برابر با PackageManager.PERMISSIONGRANTED باشد به این معنی است که برنامه مجوز مورد نظر را دارد و اگر مقدار برگشتی برابر با PERMISSIONDENIED بود به این معنی است که برنامه مجوز مورد نظر را ندارد. ITPRO باشید

نویسنده: مهدی عادلی فر

منبع: Itpro

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#آموزش_گام_به_گام_اندروید #کار_کردن_با_منابع_اندروید #تشخیص_مجوزهای_اندروید #حریم_خصوصی_در_اندروید #دسترسی_به_منابع_اندروید #آموزش_برنامه_نویسی_اندروید #مجوزهای_اندروید #مجوز_های_دسترسی_در_اندروید #مجوزهای_دسترسی_اندروید
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....