Как получить статус устройства Android (офлайн или онлайн) с помощью GCM?

Я внедрил GCM в свое приложение, и push-уведомление работает нормально? Но у меня есть конкретное требование, когда я (мой сервер) хочет узнать о состоянии Android-устройства (т. Е. Онлайн или офлайн).

Вопрос: 1. Есть ли у них какой-либо способ проверить статус устройства Android (офлайн или онлайн), просто отправив сообщение GCM или что-то еще?

  1. Единственный вариант, который пришел мне на ум, – «создать» фоновый сервис на устройстве Android, и он создаст подключаемое сокетное соединение с сервером для обновления статуса на заранее заданном временном интервале (5/10-минутный интервал). Но время пула @ fix time не является лучшим решением – и поэтому ищет другие альтернативы.

Любые указатели или помощь будут очень благодарны.

Спасибо.

Если вы имели в виду, что вы хотите знать, что ваша телефонная сеть включена или выключена, я думаю, что вам может понадобиться следующий код.

Это скажет вам, что ваш телефон находится в режиме Air Plane или нет, означает, что сеть выключена или включена.

private static boolean isAirplaneModeOn(Context context) { return Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0; } 

Bellow code проверяет, что вы подключены к интернету или нет.

 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" /> 
Intereting Posts
Как переопределить шифрованный список, отправленный на сервер Android при использовании HttpsURLConnection? Как исключить файлы R * .class из сборки proguard Проблемы с чатом в чате Фрагменты. Нужно ли использовать обертыватель активности вокруг фрагмента, который включает всю активность? Как обновлять список всякий раз, когда вкладки меняются в представлении пейджера Google Mobile Services (GMS): NullPointerPointerException от вызова String.toLowerCase (java.util.Locale) ' Планирование уведомлений в Android Каким образом блокировка экрана Android может воспроизводиться? До много времени на методе onmeasure после setImageBitmap ImageView В чем разница между CONTENT_FILTER_URI и CONTENT_URI? Добавление LinearLayout к LinearLayout в Android Что такое buildToolsVersion для Android SDK 24? Удалите старые файлы в каталоге до тех пор, пока он не достигнет определенного размера файла Генератор случайных символов с диапазоном (A..Z, 0..9) и пунктуацией Использование Android @Override