آموزش تشخیص اتصال شارژر به گوشی در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش تشخیص اتصال شارژر به گوشی در برنامه نویسی اندروید می پردازیم این آموزش ها همه به Broadcastreceiver بر می گردد در ادامه با ما همراه باشید
ابتدای کار باید یک کلاس به نام PowerConnectionReceiver ایجاد کنیم این کلاس همان Broadcastreceiver ما می شود.
پس کد زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class PowerConnectionReceiver extends BroadcastReceiver { public PowerConnectionReceiver() { } @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_POWER_CONNECTED)) { Toast.makeText(context, "The device is charging", Toast.LENGTH_SHORT).show(); } else { intent.getAction().equals(Intent.ACTION_POWER_DISCONNECTED); Toast.makeText(context, "The device is not charging", Toast.LENGTH_SHORT).show(); } } } |
در بالا بررسی می کنیم که آیا شارژ متصل شده است یا خیر برای بررسی آن از از intent مربوط به آن کلا استفاده کردیم.
حالا برای اینکه این کلاس رو ریجستر کنیم دو راه داریم در آموزش قبلی نحوه register کردن از طریق AndroidManifest به شما آموزش دادیم در این بار در اکتیویتی آن را Register می کنیم.
پس در اکتیویتی اصلی خود کد زیر را قرار دهید.
1 2 3 4 5 | PowerConnectionReceiver receiver = new PowerConnectionReceiver(); IntentFilter ifilter = new IntentFilter(); ifilter.addAction(Intent.ACTION_POWER_CONNECTED); ifilter.addAction(Intent.ACTION_POWER_DISCONNECTED); registerReceiver(receiver, ifilter); |
هر Broadcastreceiver همیشه منتظر یک رویداد می ماند برای اینکه نوع آن رویداد رو مشخص کنیم از ifilter استفاده کردیم .
در صورتی که می خواهید از کد بالا در اکتیویتی خودتان استفاده نکنید می توانید وارد فایل AndroidManifest.xml شده و receiver خودتان را تعریف کنید به شکل زیر.
1 2 3 4 5 6 | <receiver android:name=".PowerConnectionReceiver"> <intent-filter> <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /> </intent-filter> </receiver> |
هر دو کد یک کار را انجام می دهند فقط کمی شکل و نحوه استفاده از آنها فرق دارد وگرنه در هر صورت از فیلتر ACTION_POWER_CONNECTED و ACTION_POWER_DISCONNECTED استفاده شده است هر فیلتر اولی به معنی اینه که شارژر به گوشی متصل شده است و دومی زمانی که شارژر گوشی از برق کنده می شود معنی می دهد.
این آموزش هم هماننند آموزش های قبلی به پایان رسید.
موفق و موید باشید.