2014-04-02 6 views
7

मैंने अपने आवेदन में जीसीएम लागू किया है और पुश अधिसूचना ठीक काम कर रही है? लेकिन मेरे पास विशिष्ट आवश्यकता है जहां मैं (मेरा सर्वर) एंड्रॉइड डिवाइस की स्थिति के बारे में जानना चाहता है (यानी ऑनलाइन या ऑफलाइन है)।जीसीएम का उपयोग कर एंड्रॉइड डिवाइस स्थिति (ऑफ़लाइन या ऑनलाइन) कैसे प्राप्त करें?

प्रश्न: 1. क्या जीसीएम संदेश या कुछ भेजकर एंड्रॉइड डिवाइस स्थिति (ऑफ़लाइन या ऑनलाइन) जांचने का उनका कोई तरीका है?

  1. ही एकमात्र विकल्प है कि मेरे मन में आया एंड्रॉयड डिवाइस में पृष्ठभूमि सेवा "बनाने" है और यह पैदा करेगा चल रही पूर्व निर्धारित समय अंतराल पर स्थिति अपडेट करने में सर्वर के साथ सॉकेट कनेक्शन (5/10 मिनट अंतराल) । लेकिन @ फिक्स टाइम अंतराल को पूल करना सबसे अच्छा समाधान नहीं है - और यही कारण है कि अन्य विकल्पों की तलाश है।

कोई भी सूचक या सहायता की सराहना की जाएगी।

धन्यवाद।

उत्तर

-4

यदि आपका मतलब यह है कि आप जानना चाहते हैं कि आपका फोन नेटवर्क चालू या बंद है, तो मुझे लगता है कि बोले कोड आपके लिए सहायक हो सकता है।

यह आपको बताएगा कि आपका फोन एयर प्लेन मोड में है या नहीं, इसका मतलब है कि नेटवर्क बंद है या चालू है।

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" /> 
में

संबंधित मुद्दे