如何使用GCM获取Android设备状态(离线或在线)?

前端之家收集整理的这篇文章主要介绍了如何使用GCM获取Android设备状态(离线或在线)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序中实现了GCM,推送通知工作正常吗?但我有具体要求我(我的服务器)想知道 Android设备状态(即在线或离线).

题:
1.他们可以通过发送GCM消息或其他东西来检查Android设备状态(离线或在线)吗?

>我想到的唯一选择是在Android设备中“创建”后台服务,它将创建与服务器的正在进行的套接字连接,以在预定义的时间间隔(5/10分钟间隔)更新状态.但汇集@ fix时间间隔并不是最好的解决方案 – 这也是寻找其他替代方案的原因.

任何指针或帮助将不胜感激.

谢谢.

解决方法

如果您的意思是想知道您的电话网络是打开还是关闭,那么我认为以下代码可能对您有所帮助.

这将告诉您手机处于Air Plane模式,表示网络已关闭或打开.

private static boolean isAirplaneModeOn(Context context) {

   return Settings.System.getInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,0) != 0;

}

Bellow代码检查天气是否与imternet相关.

private boolean isNetworkConnected() {
  ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo ni = cm.getActiveNetworkInfo();
  if (ni == null) {
   // There are no active networks.
   return false;
  } else
   return true;
 }

在清单中

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
原文链接:https://www.f2er.com/android/314453.html

猜你在找的Android相关文章