آموزش کار با BroadcastReciver
سلام دوستان آموزش کار با BroadcastReciver جزو مهمنرین بخش در اندروید میشه بهش اشاره کرد این بخش خیلی مهمه یعنی از تمامی آموزش هایی که قبلا گذاشتیم مهمتره شاید بعضی ها بپرسن اصلا این چی هست بزارید یک مثال بزنم تا قشنگ براتون جا بیفته مثلا ما می خواهیم بعد از اینکه اپ ما نصب شد مثلا بعد از هر خاموش روشن شدن یک پیام Toast به کاربر نمایش دهد یا کاری های مختلف دیگر بعد از خاموش روشن شدن گوشی انجام دهد.
برای اینکار ابتدا باید یک کلاس ایجاد کرده و آن را extends (گسترش ) دهیم گسترش ما باید BroadCastReciver باشد یعنی به شکل زیر
1 2 | public class BootBroadcastReceiver extends BroadcastReceiver { } |
در بالا ما یک کلاس به نام BootBroadcastReceiver ایجاد کرده و ان را گسترش داده ایم.
و خود BrodCastReciver یک void به نام Onrecive دارد که مقادیر وردی آن Context و Intent هست .
خب دیگه توضیح کافیه بریم به بخش اصلی کد
کلاس ما به شکل زیر می شود.
1 2 3 4 5 6 | public class BootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "I'm here What's up :D", Toast.LENGTH_SHORT).show(); } } |
بعد از اینجا زمانی ایجاد / فراخوانی / اجرا یا به قول گفتنی register کردن آن است برای این کار به بخش Androidmanifes.xml رفته و قبل از بسته شدن تگ Application خط زیر را بگذارید.
1 2 3 4 5 6 7 | <receiver android:name=".BootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.QUICKBOOT_POWERON" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </receiver> |
در بالا در بخش فیلتر به آن گفیم که زمانی که گوشی reboot شد و دوباره خواست استارت شود کلاس BootBroadcastReceiver اجرا شود. و با اجرا شدن آن یک Toast به کاربر نمایش می دهد.اگر بالا نگاه کنید دو نوع boot قرار گرفته است یک QuickBoot و دیگری Boot_Completed این دوتا فرقشان در گوشی ها مختلف مشخص می شود بعضی از گوشی ها مثل htc از quickBoot استفاده می کنند ولی بعضی دیگر مانند سامسونگ از Boot_completed استفاده می شود برای اینکه روی هر دو مدل کار کند هردوش را قرار می دهیم و دقت کنید باید دسترسی استفاده از Boot گوشی را دربرنامه قرار دهیم یعنی به شکل زیر می شود
1 | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
آموزش به پایان رسید انشاالله مفید بوده باشد.
سلام من در یک ساعت خاص Broadcastreceiver
فعال میشه و یک الارم مدیا پلیر پخش میکنه ولی نمیدونم چطور باید غیر فعالش کنم یعنی یه دکمه بزارم برای غیر فعال کردن Broadcastreceiver
یا استاپ کردن مدیا در حال اجرا ؟؟ ممنون میشم راهنمایی کنید
سلام بله شما باید BroadCastreceiver را در نهایت با استفاده از دکمه یا هرچیز دیگری Destroy کنید از کد زیر استفاده کنید.
موفق باشید.