2014-04-02 96 views
7

我在我的應用程序中實現了GCM,推送通知工作正常?但是我(我的服務器)想知道關於Android設備狀態(即聯機或脫機)的具體要求。如何使用GCM獲取Android設備狀態(離線或在線)?

問題: 1.他們有任何方法通過發送GCM消息或其他東西來檢查Android設備狀態(脫機或聯機)嗎?

  1. 是排在我的腦海裏唯一的選擇就是「創造」,在Android設備的後臺服務,並會造成持續的與服務器套接字連接到預先定義的時間間隔更新狀態(5/10分鐘間隔) 。但將@ fix時間間隔集中並不是最佳解決方案 - 這就是尋找其他替代方案的原因。

任何指針或幫助將不勝感激。

謝謝。

回答

-4

如果你的意思是你想知道你的手機網絡是打開還是關閉,那麼我認爲下面的代碼可能對你有幫助。

這會告訴你你的手機是否處於Air Plane模式,表示網絡已關閉或打開。

private static boolean isAirplaneModeOn(Context context) { 

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

} 

波紋代碼檢查天氣是否與您的陰謀相關聯。

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" /> 

相關問題