<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>permission &#8211; Mahdi Tajik</title>
	<atom:link href="http://www.mahditajik.ir/tag/permission/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mahditajik.ir</link>
	<description>I&#039;m Mahdi Tajik. I am project manager and Full-stack Android developer. welcome to my personal website.</description>
	<lastBuildDate>Thu, 29 Nov 2018 14:18:46 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.6</generator>

<image>
	<url>http://www.mahditajik.ir/wp-content/uploads/2015/03/cropped-sample-logo-MT-2-32x32.png</url>
	<title>permission &#8211; Mahdi Tajik</title>
	<link>http://www.mahditajik.ir</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>کتابخانه Advanced Permission manager</title>
		<link>http://www.mahditajik.ir/%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-advanced-permission-manager/</link>
					<comments>http://www.mahditajik.ir/%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-advanced-permission-manager/#comments</comments>
		
		<dc:creator><![CDATA[mahdi]]></dc:creator>
		<pubDate>Tue, 28 Nov 2017 15:39:19 +0000</pubDate>
				<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[permission]]></category>
		<guid isPermaLink="false">http://www.mahditajik.ir/?p=2677</guid>

					<description><![CDATA[<p>Advanced Permission manager کتابخانه ای است که توسط آن از شر تمامی دردسر های مجوز های درحال اجرای اندروید خلاص می شوید. همانطور که می دانید تعدادی مجوز در اندروید جزو مجوز های خطرناک است که برای استفاده از آنها علاوه بر منیفست باید در حال اجرا نیز اجازه کاربر را بگیرید و روند گوناگونی ...</p>
<p>نوشته <a rel="nofollow" href="http://www.mahditajik.ir/%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-advanced-permission-manager/">کتابخانه Advanced Permission manager</a> اولین بار در <a rel="nofollow" href="http://www.mahditajik.ir">Mahdi Tajik</a> پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2678" src="http://www.mahditajik.ir/wp-content/uploads/2017/11/mahditajik.ir_lib_image_2.jpg" alt="" width="640" height="480" srcset="http://www.mahditajik.ir/wp-content/uploads/2017/11/mahditajik.ir_lib_image_2.jpg 640w, http://www.mahditajik.ir/wp-content/uploads/2017/11/mahditajik.ir_lib_image_2-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p style="text-align: justify;"><strong>Advanced Permission manager </strong>کتابخانه ای است که توسط آن از شر تمامی دردسر های مجوز های درحال اجرای اندروید خلاص می شوید. همانطور که می دانید تعدادی مجوز در اندروید جزو مجوز های خطرناک است که برای استفاده از آنها علاوه بر منیفست باید در حال اجرا نیز اجازه کاربر را بگیرید و روند گوناگونی دارد. لیست مجوز های خطرناک به شرح ذیل است:</p>
<pre class="crayon-plain-tag">READ_CALENDAR
WRITE_CALENDAR
CAMERA
READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
RECORD_AUDIO
READ_PHONE_STATE
CALL_PHONE
READ_CALL_LOG
WRITE_CALL_LOG
ADD_VOICEMAIL
USE_SIP
PROCESS_OUTGOING_CALLS
BODY_SENSORS
SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE</pre>
<p style="text-align: justify;">حال ممکن است کاربر نه تنها اجازه ندهد بلکه گزینه &#8220;دیگر نشان نده&#8221; را انتخاب کند و برای رسیدگی کردن به این قضیه، چک های مختلفی انجام داد که خوشبختانه کتابخانه <strong>Advanced Permission manager</strong> همه این موارد را به عهده می گیرد.</p>
<p style="text-align: justify;">برای استفاده از این کتابخانه خط زیر را به گریدل برنامه اضافه کنید:</p>
<pre class="crayon-plain-tag">compile 'ir.mtajik.android:advancedPermissionsHandler:1.0.6'</pre>
<p style="text-align: justify;">کافی است  <strong>Activity</strong> خود را از <strong>PermissionHandlerActivity</strong> ارث بری کنید. سپس متد زیر را صدا کنید و دیگر نگران برسی کردن مجوز و مراحل دست و پا گیر آن نباشید. همه آن را کتابخانه بصورت اتومات مدیریت می کند.<strong><br />
</strong></p>
<pre class="crayon-plain-tag">String[] permissions = new String[] {Manifest.permission.SEND_SMS, 
Manifest.permission.WRITE_EXTERNAL_STORAGE , Manifest.permission.READ_EXTERNAL_STORAGE , ...}

boolean stickyMode = true;

askForPermission(permissions , stickyMode, new PermissionCallBack() {
                    
                    @Override
                    public void onPermissionsGranted() {  
                        Log.i("mahdi", "onPermissionsGranted: ");
                    }

                    @Override
                    public void onPermissionsDenied(String[] permissions) {
                        Log.i("mahdi", "onPermissionsDenied: ");
                    }
                });</pre>
<p style="text-align: justify;">روند گرفتن مجوز بدین شکل است:</p>
<p style="text-align: justify;"><strong>اول:</strong> برنامه اجازه تمامی مجوز های خواسته شده را به کاربر نمایش می دهد.<br />
<strong>دوم:</strong> سپس مجوزهای داده نشده در مرحله قبل با یک دیالوگ دیگر با پیغام جدید از کاربر خواسته می شود.<br />
<strong>سوم:</strong> اگر کاربر گزینه &#8220;دیگر به من نمایش نده&#8221; را انتخاب کرده باشد، تنظیمات برای گرفتن مجوزها باز می شود.<br />
<strong>چهارم:</strong> اگر همچنان کاربر مجوز نداد، کالبک <strong>onPermissionsDenied</strong> فراخوانی می شود.</p>
<p style="text-align: justify;">حال <strong>stickyMode </strong> مشخص می کند که تمام مراحل بالا در یک نشست اتفاق بیافتد یا اینکه خیر. استفاده از این کتابخانه باعث میشه که بدون نگرانی بابت مجوزها به قسمت های دیگر برنامه بپردازید. اگر درمورد پیاده سازی نکته، پیشنهاد، مشکل یا سوالی داشتید خوشحال می شم تا با من درمیان بگذارید.</p>
<p style="text-align: justify;"><a href="https://github.com/mahdit83/advancedPermissionHandler" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2146" src="http://www.mahditajik.ir/wp-content/uploads/2016/12/github_download.png" alt="github_download" width="230" height="70" /></a></p>
<p>لینک پروژه در Github</p>
<p style="text-align: left;"><span style="color: #3366ff;"><a style="color: #3366ff;" href="https://github.com/mahdit83/advancedPermissionHandler" target="_blank" rel="noopener">https://github.com/mahdit83/advancedSmsManager</a></span></p>
<p>لینک پروژه در Bintray</p>
<p style="text-align: left;"><span style="color: #3366ff;"><a style="color: #3366ff;" href="https://bintray.com/mahdi/maven/advancedPermissionsHandler" target="_blank" rel="noopener">https://bintray.com/mahdi/maven/advancedsmsmanager</a></span></p>
<p>لینک در android-arsenal</p>
<p style="text-align: left;"><span style="color: #3366ff;"><a style="color: #3366ff;" href="https://android-arsenal.com/details/1/6510" target="_blank" rel="noopener">https://android-arsenal.com/details/1/6024</a></span></p>
<p>منبع: <a href="http://www.biitecode.ir" target="_blank" rel="noopener">بایت کد</a></p>
<p>نوشته <a rel="nofollow" href="http://www.mahditajik.ir/%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-advanced-permission-manager/">کتابخانه Advanced Permission manager</a> اولین بار در <a rel="nofollow" href="http://www.mahditajik.ir">Mahdi Tajik</a> پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.mahditajik.ir/%da%a9%d8%aa%d8%a7%d8%a8%d8%ae%d8%a7%d9%86%d9%87-advanced-permission-manager/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
