تشخیص وضعیت باتری در جاوا اسکریپت – از صفر تا صد
اینترفیس BatteryManager روشهایی برای دریافت اطلاعات در مورد سطح شارژ باتری سیستم ارائه میکند. با استفاده از BatteryManager برای تشخیص وضعیت باتری در جاوا اسکریپت میتوانیم اطلاعات زیر را به دست آوریم:
- حالت شارژ شدن
- درصد باتری
- زمان مورد نیاز برای شارژ 100%
- زمان باقیمانده تا تخلیه کامل شارژ باتری
ابتدا باید بررسی کنیم که آیا مرورگر از باتری پشتیبانی میکند یا نه؟
زمانی که مرورگر از BatteryManager پشتیبانی بکند، میتوانیم آن را از متد getBattery در شیء navigator به دست آوریم. به این ترتیب یک promise بازگشت مییابد که در زمان resolve شدن آن، شیء BatteryManager را به دست میآوریم. این شیء چهار مشخصه و چهار رویداد دارد.
مشخصهها
- Charging – حالت شارژ شدن را نمایش میدهد که یک مقدار بولی True یا False به ترتیب برای زمان شارژ شدن و نشدن باتری دارد.
- Level – سطح باتری را نمایش میدهد.
- chargingTime - زمان باقیمانده تا رسیدن باتری به سطح شارژ کامل را برحسب ثانیه نمایش میدهد. در صورتی که مقدار آن 0 باشد یعنی باتری هم اینک کاملاً شارژ شده است.
- dischargingTime – زمان باقیمانده تا تخلیه کامل شارژ باتری و متوقف شدن عملکرد سیستم را برحسب ثانیه نشان میدهد.
رویدادها
- Onchargingchange – زمانی تحریک میشود که حالت شارژ شدن تغییر کند.
- Onlevelchange – زمانی تحریک میشود که سطح شارژ باتری تغییر کند.
- Onchargingtimechange – این رویداد زمانی ارسال میشود که زمان شارژ شدن باتری بهروز شود.
- Ondischargingtimechange – این رویداد زمانی ارسال میشود که زمان تخلیه کامل شارژ باتری تغییر پیدا کند.
برای به دست آوردن شیئ Battery به صورت زیر عمل میکنیم:
نکته: مقدار زمان تخلیه شارژ بینهایت است. اگر باتری در حال حاضر در حالت شارژ شدن باشد و یا اگر سیستم نتواند گزارشی در مورد زمان تخلیه شارژ به دست آورد، این مقدار نمایش مییابد.
افزودن رویدادها
اکنون یک رویداد برای تشخیص تغییر سطح شارژ و حالت شارژ شدن در تابع callback شیئ باتری اضافه میکنیم:
رویداد فوق زمانی تحریک میشود که سطح شارژ باتری تغییر یابد یا حالت شارژ شدن/نشدن عوض شود. به این ترتیب دیدید که کار کردن با باتری در جاوا اسکریپت با استفاده از اینترفیس BatteryManager تا چه حد آسان است. اگر شما نیز در این رابطه تجربهای دارید میتوانید آن را با کاربران مجله فرادرس در میان بگذارید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای JavaScript (جاوا اسکریپت)
- مجموعه آموزشهای برنامهنویسی
- آموزش JavaScript ES6 (جاوا اسکریپت)
- معرفی جاوا اسکریپت ناهمگام — به زبان ساده
- ذخیره سازی سمت کلاینت در جاوا اسکریپت — راهنمای جاوا اسکریپت
==