View Full Version : تشخیص این که دستگاه به اینترنت وصل شده
roboman78
سه شنبه 08 اردیبهشت 1394, 22:35 عصر
سلام
میشه راهنمایی کنین مثلا نرم افزاری مثل وایبر وقتی شما از نرم افزار به طور کامل خارج میشید بازم واستون نوتیفیکیشن میده
یا بعضی نرم افزارا تا به نت وصل میشه یه نوتیفای انجام میدن
اینکه خارج از نرم افزاره و نوتیفای میکنه چطوره؟
ممنون
gjmkdyttyhujk
سه شنبه 08 اردیبهشت 1394, 23:06 عصر
سلام. این برنامه ها از سرویس ها استفاده می کنند.
djtrex
سه شنبه 08 اردیبهشت 1394, 23:20 عصر
عموما از طریق gcm فرستاده میشه:
https://developer.android.com/google/gcm/index.html
یا میتونید خودتون پیاده کنید یا از سرویس های زیر استفاده کنید:
parse.com
pushwoosh.com
pusher.com
framework.realtime.co
pubnub.com
این روش push notification هست
راه دیگه به صورت pulling هست مثلا alarm manager یا sync adapter تنظیم کنید و سر ساعت یا موقع وصل شدن به اینترنت یه چیزی رو چک کنه یا از اینترنت اطلاعات بگیره و در صورت نیاز نوتیفیکیشن بده.
roboman78
چهارشنبه 09 اردیبهشت 1394, 14:40 عصر
اگه از این سیستما مثل parse استفاده کنیم یا اینکه خودمون روی هاست پیاده سازی کنیم بازار گیر نمیده؟
c0mmander
چهارشنبه 09 اردیبهشت 1394, 14:56 عصر
یک راه دیگه هم برودکسته.. هر وقت شبکه وصل شد سرویسی رو که میخواهید ران کنید. البته یک مشکلی داره که وقت اینترنت از طریق بلوتوث انجام میشه دگه کار نمیده.
tux-world
چهارشنبه 09 اردیبهشت 1394, 18:05 عصر
یک راه دیگه هم برودکسته.. هر وقت شبکه وصل شد سرویسی رو که میخواهید ران کنید. البته یک مشکلی داره که وقت اینترنت از طریق بلوتوث انجام میشه دگه کار نمیده.
این کد رو برای بلوتوث هم چک کنید به نظرم باید جواب بده
public class ConnectionDetector {
private Context _context;
public ConnectionDetector(Context context){
this._context = context;
}
public boolean isConnectingToInternet(){
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SER VICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
}
c0mmander
چهارشنبه 09 اردیبهشت 1394, 18:50 عصر
این کد رو برای بلوتوث هم چک کنید به نظرم باید جواب بده
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SER VICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
جواب داد تــــــــــــشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.