2011-03-02 18 views
6

मैं DefaultHttpClient का उपयोग करें और HttpGet के लिए मतदान सर्वर से डेटा मतदान पर है। अब, एक उपयोगकर्ता वाई-फाई नेटवर्क में था और कमरे से बाहर निकलता है। तो फोन स्वचालित रूप से 3 जी नेटवर्क का उपयोग शुरू होता है। क्या इस तरह के बदलाव के लिए कोई कॉल-बैक है, और मुझे ऐसे परिवर्तनों को कैसे संभालना चाहिए। मैं मतदान फिर से शुरू कर देना चाहिए या ओएस देखभाल करता है परिवर्तन करने के लिए उचित रूप सेएंड्रॉयड, (जीपीआरएस से वाई-फाई और उपाध्यक्ष प्रतिकूल करने के लिए) नेटवर्क में परिवर्तन को संभालने के लिए कैसे डेटा

उत्तर

16

आप अपने मेनिफ़ेस्ट में एक रिसीवर सेट कर सकते हैं:

public class NetworkChangeReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(final Context context, final Intent intent) { 
    final ConnectivityManager connMgr = (ConnectivityManager) 
    context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    final android.net.NetworkInfo wifi = 
    connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

    final android.net.NetworkInfo mobile = 
    connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

    if (wifi.isAvailable()) { 
     //Do something 
    if (mobile.isAvailable()) { 
     //Do something else 
    } 
    } 
} 
: कुछ इस तरह के साथ

<receiver 
    android:name=".NetworkChangeReceiver" 
    android:label="NetworkChangeReceiver"> 
    <intent-filter> 
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
    <action android:name="android.net.wifi.WIFI_STATE_CHANGED" /> 
    </intent-filter> 
</receiver> 

और Receiver लागू

यदि आप लगातार कनेक्शन रखते हैं तो यह नीचे जायेगा और आपको इसे फिर से स्थापित करना होगा।

यदि आप एक सेवा शेड्यूल कर रहे हैं और आप कनेक्शन को लगातार नहीं रखते हैं, तो आपको कोई समस्या नहीं होगी।

-3

मुझे लगता है कि आपको कुछ भी करने की ज़रूरत नहीं है, लेकिन आपको यह गारंटी देनी चाहिए कि आपके सर्वर का आईपी पता यादृच्छिक रूप से व्यवस्थित नहीं है, जिसका कहना है कि आपके पास एक निश्चित आईपी पता होना चाहिए। यह मेरा जवाब है;

+1

मुझे लगता है कि यह अधिक संभावना है कि ग्राहक (मोबाइल डिवाइस पर) अपना 'आईपी पता बदल सकता है। यह मार्च 2011 से ओपी के सवाल का जवाब नहीं देता है। –