Intent Filter چیست ؟

سلام دوستان عزیز در این مقاله به بررسی تگ Intent Filter می پردازیم Intent Filter چیست ؟ شاید سوالی باشد که ذهن شما را مشغول کرده باشد در دو بخش امکان استفاده از intent filter در اندروید وجود دارد بخش اول در فایل AndroidManifest و بخش دوم استفاده از intent filter از طریق بخش کد نویسی است در ادامه با ما همراه باشید تا متوجه شوید Intent Filters چیست ؟
 

Intent Filter چیست ؟

توضیح سخت ?
intent filter مشخص کننده یک نوع فیلتر برای Intent است که آن Intent باید چه رفتاری نسبت به عملی که توسط اکتیویتی , سرویس یا حتی broadcast receiver انجام می شود نشان دهد (اگر متوجه نشدید ادامه دهید)
توضیح ساده ?
اگر بخواهیم intent filter را به زبان ساده توضیح دهیم می توانید با یک مثال ساده آن را یاد گیرید در نظر بگیرید یک بطری وجود دارد و در سر این بطری یک فیلتر برای رد شدن مواد مختلف وجود دارد این فیلتر اگر مواد معدنی باشند امکان رد شدن را میدهد اگر به طور مثال جیوه باشد رد نمی شود intent filter هم در اندروید همین کار را می کند در ابتدا که یک پروژه ایجاد کنید در فایل AndroidManifest یک intent filter تعریف شده است که مشخص می کند برنامه هنگام اجرا کدام اکتیویتی را به عنوان اکتیویتی پیشفرض اجرا کند مثال دیگر برای این بخش را می توان برای یک مرورگر ساده در نظر گرفت اگر بخواهیم کاربر هنگام باز کردن یک Url یا یک سایت , اپلیکیشن ما نیز به او پیشنهاد داده شود باید برای اینکار باید یک Intent Filter تعریف کرد برای اینکار باید به  اکتیویتی که ایجاد کردیم یک intent-filter اضافه کنیم در ادامه باهم کدش را بررسی می کنیم.

در بالا از intent-filter ی به نام BROWSABLE استفاده کردیم که باعث می شود کاربر هنگامی که در حال باز کردن یک Url است اپلیکیشن ما نیز به او suggest داده شود.
زمانی که کد زیر را تست کنید برنامه خودتان را می توانید از بخش suggest های گوشی انتخاب کنید.

ما در بالا درحال باز کردن یک Intent جدید هستیم و همراه با آن یک Url را نیز داریم ارسال می کنیم تمامی اپلیکیشن هایی که دارای تگ BROWSABLE باشند به ما نمایش داده خواهند شد.
تنها استفاده intent-filter در intent نیست در نظر بگیرید بخواهیم بررسی کنیم زمانی که باطری گوشی بروی حالت low قرار گرفت یک کار خاصی انجام دهیم برای اینکار باید همراه با BroadcastRecier از intent-filter ی به نام ACTION_BATTERY_LOW استفاده کنیم.
 
این مقاله هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر