سلام 🖐
اگه توی پروژه‌ای که با بیسیک ۴ اندروید توسعه داده میشه از وب ویو برای لود کردن یه URL توی اپلیکیشن استفاده کنید و موقع اجرای برنامه، گوشی به اینترنت وصل نباشه، ارور لود نشدن صفحه توی خود وب ویو نمایش داده میشه و ظاهر زیبایی نداره…

با استفاده از این قطعه کد می‌تونید چک کنید که گوشی کاربر به اینترنت وصل هست یا نه و با استفاده از اطلاعاتی که به دست میاد، یا وب ویو رو مخفی کنید یا یه پیام ارور سفارشی نشون بدین. البته این کد کاربردهای دیگه‌ای هم می‌تونه داشته باشه ولی توی این پست برای این کار ازش استفاده می‌کنم.

کتابخانه مورد نیاز :

Network

توی قسمت ProcessGlobals یک متغیر از نوع ServerSocket تعریف می‌کنیم:

Sub Process_Globals
  Dim server As ServerSocket
End Sub

حالا با استفاده از Sub زیر آی پی رو چک می‌کنیم:

Sub GetIp As Boolean
server.Initialize(0,"")
  If server.GetMyIP = "127.0.0.1" Then
    Return False
  Else
    Return True
  End If
End Sub

همانطور که می‌دونید اگه به اینترنت وصل نباشیم آی پی پیشفرض دستگاه ۱۲۷.۰.۰.۱ هستش برای همین در شرط If داخل این Sub این آی پی رو چک می‌کنیم. این ساب اگه آی پی برابر ۱۲۷.۰.۰.۱ باشه False و اگه آی پی ۱۲۷.۰.۰.۱ نباشه (یعنی به اینترنت وصل باشیم)، True رو Return می کنه.

درضمن عدد ۰ در server.Initialize(0,””) همون شماره پورت خودمونه 😅

در نهایت (مثل کد زیر) می‌تونید از مقدار True یا False به دست اومده برای چک کردن وضعیت اتصال به اینترنت استفاده کنید:

If GetIp=True Then
  ToastMessageShow("ارتباط با اینترنت برقرار است.",False)
Else
  ToastMessageShow("ارتباط با اینترنت برقرار نیست!",True)
End If

موفق باشید 🙂