دریافت اطلاعات شبکه تلفن همراه در برنامه نویسی اندروید

دریافت اطلاعات شبکه تلفن همراه در برنامه نویسی اندرویدReviewed by آریانا on Dec 28Rating: 5.0دریافت اطلاعات شبکه تلفن همراه در برنامه نویسی اندرویدبرای اینکه بفهمیم دستگاه به شبکه وصل هست یا نه یه سری مراحل رو توی شبکه بایدانجام بدیم.همچنین باید بدونیم که کاربر وای فای یا ۳g,4g رو از عمد غیرفعال کرده یا نه.

تقریبا تمام دستگاه های آندروید شبکه تلفن همراه را پشتیبانی می کنند . برای اینکه بفهمیم دستگاه به شبکه وصل هست یا نه یه سری مراحل رو توی شبکه بایدانجام بدیم.همچنین باید بدونیم که کاربر وای فای یا ۳g,4g رو از عمد غیرفعال کرده یا نه. واقعیت این است که بسیاری از برنامه های کاربردی به کاربر هشدار می دهند هنگامی که دستگاه هایشان در حال استفاده از شبکه تلفن همراه  هستند و این به دلیل این است که استفاده از شبکه تلفن همراه هزینه دارد.  در این پست، من می خواهم راه حلی برای چک کردن اطلاعات  شبکه تلفن همراه (نوع و سرعت اتصال) که بر روی دستگاه از طریق استفاده از کلاس TelephonyManager در دسترس می باشد را ارائه دهم.

بررسی اینکه آیا دستگاه اتصال اینترنتی دارد یا نه؟

در مرحله اول، شما باید بررسی کنید که آیا دستگاه شما دارای اتصال اینترنتی هست یا نه. با استفاده از روش getActiveNetworkInfo() از کلاس NetworkInfo به عنوان مثال ConnectivityManager ، شما می توانید این کار را به راحتی انجام دهید:

 

چک کردن نوع شبکه

همچنین توسط کلاس NetworkInfo، ما می توانیم نوع شبکه  را توسط ۲ روش دریافت کنیم:

روش اول  getType() : اگر دستگاه شما با Wifi اتصال دارد  به ConnectivityManager.TYPE_WIFI بر گردید و اگر دستگاه شما با استفاده از شبکه تلفن همراه کانکت است  به ConnectivityManager.TYPE_MOBILE برگردید.

روش دوم getSubtype() : یک عدد صحیح خاص نوع شبکه برمی گردد که نوع زیرشبکه را مشخص می کند. برای همه ی انواع شبکه های موبایل و سرعت آنها ، لطفا به کد زیر توجه کنید:

 

البته اینها در API سطح هفت ثابت نیستند و ما باید آنها را تعریف کنیم.

 

اضافه کردن اجازه چک کردن شبکه

هر زمان که شما بخواهید اطلاعات شبکه را چک کنید، شما باید اجازه ACCESS_NETWORK_STATE را در AndroidManifest.xml اضافه کنید :

 

اجرا کردن یک اکتیویتی برای تست کردن

بعد از اینکه همه ی کدهای بالا را در کلاس MainActivity قرار دادید، باید متد onCreate() را اصلاح کنید  مثل کد زیر:

 

پس از اجرا کردن این اپلیکیشن هنگامی که دستگاه شما با Wifi کانکت می باشد، خروجی زیر را به شما می دهد.

حالا ما اتصال wifi را غیرفعال می کنیم و اتصال با شبکه موبایل را روی دستگاه فعال می کنیم . حالا شما نوع و سرعت آن را خواهید دید:

درحال حاضر، شما یک راه حل برای به دست آوردن اطلاعات شبکه تلفن همراه در آندروید دارید و می توانید آن را برای رسیدن به اهدافتان به خدمت بگیرید.

 

 

پاسخ دهید