2014-04-02 12 views
7

Mam wdrożone GCM w mojej aplikacji i powiadomienia push działają poprawnie? Ale mam określony wymóg, w którym ja (mój serwer) chcę wiedzieć o statusie urządzenia z Androidem (tzn. Jest on online lub offline).Jak uzyskać status urządzenia z Androidem (offline lub online) za pomocą GCM?

Pytanie: 1. Czy można w żaden sposób sprawdzić status urządzenia Android (offline lub online), wysyłając wiadomość GCM lub coś podobnego?

  1. Jedyną opcją, która przyszła mi do głowy to "tworzenie" usługi w tle w urządzeniu z systemem Android, która tworzy ciągłe połączenie z serwerem, aby zaktualizować stan we wcześniej zdefiniowanym przedziale czasu (interwał 5/10 min) . Jednak przedział czasu przy ustalaniu czasu wiązania @ nie jest najlepszym rozwiązaniem - i dlatego poszukuje innych alternatyw.

Każda wskazówka lub pomoc będą mile widziane.

Dziękuję.

Odpowiedz

-4

Jeśli chciałeś wiedzieć, że twoja sieć telefoniczna jest włączona lub wyłączona, to myślę, że ten kod może ci się przydać.

to powie Ci, że twój telefon jest w trybie Air Plane, czy nie, oznacza, że ​​sieć jest wyłączona lub włączona.

private static boolean isAirplaneModeOn(Context context) { 

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

} 

Kod dolny sprawdza pogodę, z którą masz połączenie, lub nie.

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; 
} 

w jawnym

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
Powiązane problemy