Intent Filter چیست؟

Intent Filter چیست؟
سلام دوستان عزیز در این مقاله به بررسی تگ Intent Filter می پردازیم Intent Filter چیست ؟ شاید سوالی باشد که ذهن شما را مشغول کرده باشد در دو بخش امکان استفاده از intent filter در اندروید وجود دارد بخش اول در فایل AndroidManifest و بخش دوم استفاده از intent filter از طریق بخش کد نویسی است در ادامه با ما همراه باشید تا متوجه شوید Intent Filters چیست؟
توضیح ساده ?
اگر بخواهیم intent filter را به زبان ساده توضیح دهیم می توانید با یک مثال ساده آن را یاد گیرید در نظر بگیرید، یک بطری وجود دارد. در سر این بطری یک فیلتر برای رد شدن مواد مختلف وجود دارد. این فیلتر اگر مواد معدنی باشند، امکان رد شدن را می دهد اگر به طور مثال جیوه باشد رد نمی شود. intent filter هم در اندروید همین کار را می کند در ابتدا که یک پروژه ایجاد کنید. در فایل AndroidManifest یک intent filter تعریف شده است که مشخص می کند برنامه هنگام اجرا کدام اکتیویتی را به عنوان اکتیویتی پیشفرض اجرا کند.
مثال دیگر برای این بخش را می توان برای یک مرورگر ساده در نظر گرفت اگر بخواهیم کاربر هنگام باز کردن یک Url یا یک سایت، اپلیکیشن ما نیز به او پیشنهاد داده شود. باید برای اینکار باید یک Intent Filter تعریف کرد برای اینکار باید به اکتیویتی که ایجاد کردیم یک intent-filter اضافه کنیم در ادامه باهم کدش را بررسی می کنیم.
توضیح سخت ? intent filter مشخص کننده یک نوع فیلتر برای Intent است که آن Intent باید چه رفتاری نسبت به عملی که توسط اکتیویتی , سرویس یا حتی broadcast receiver انجام می شود نشان دهد (اگر متوجه نشدید ادامه دهید)
<activity android:name=".HelloWorld" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="http" android:host="androidium.org"/> </intent-filter> </activity>
ادامه کد:
در بالا از intent-filter ی به نام BROWSABLE استفاده کردیم که باعث می شود کاربر هنگامی که در حال باز کردن یک Url است اپلیکیشن ما نیز به او suggest داده شود. زمانی که کد زیر را تست کنید برنامه خودتان را می توانید از بخش suggest های گوشی انتخاب کنید.
Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("http://androidium.org")); startActivity(intent);
ما در بالا درحال باز کردن یک Intent جدید هستیم و همراه با آن یک Url را نیز داریم ارسال می کنیم تمامی اپلیکیشن هایی که دارای تگ BROWSABLE باشند به ما نمایش داده خواهند شد. تنها استفاده intent-filter در intent نیست در نظر بگیرید بخواهیم بررسی کنیم زمانی که باطری گوشی بروی حالت low قرار گرفت یک کار خاصی انجام دهیم برای اینکار باید همراه با BroadcastRecier از intent-filter ی به نام ACTION_BATTERY_LOW استفاده کنیم.
لطفا دیدگاه خود را در مورد اموزش Intent Filter چیست؟ بیان کنید.
موفق و پیروز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.