2011-11-02 13 views
5

जब मैं जाँचनेटवर्क स्थान प्रदाता सक्षम है या नहीं, यह जांचने के लिए कोई वैकल्पिक तरीका है?

boolean networkReady=manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

मैं कुछ सैमसंग फोन पर सही हो, eventhough वायरलेस स्थान सेटिंग में अनुमति नहीं है।

क्या इस सेटिंग को जांचने और सभी फोन पर सही मूल्य प्राप्त करने का कोई अन्य तरीका है?

उत्तर

7

कुछ अच्छे नेटवर्क उपयोग कार्यों के नीचे संलग्न किया गया है जो मैं अपने ऐप्स में उपयोग कर रहा हूं, सभी आकर्षण जैसे आकर्षण! और स्थान मतदान, निश्चित रूप से के लिए ->https://github.com/commonsguy/cwac-locpoll

आशा है कि यह मदद करता है ...

public static boolean checkInternetConnection(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    // ARE WE CONNECTED TO THE NET? 
    if (conMgr.getActiveNetworkInfo() != null 
      && conMgr.getActiveNetworkInfo().isAvailable() 
      && conMgr.getActiveNetworkInfo().isConnected()) { 
     return true; 
    } else { 
     Log.w(TAG, "Internet Connection NOT Present"); 
     return false; 
    } 
} 
    public static boolean isConnAvailAndNotRoaming(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    if (conMgr.getActiveNetworkInfo() != null 
      && conMgr.getActiveNetworkInfo().isAvailable() 
      && conMgr.getActiveNetworkInfo().isConnected()) { 

     if(!conMgr.getActiveNetworkInfo().isRoaming()) 
      return true; 
     else 
      return false; 
    } else { 
     Log.w(TAG, "Internet Connection NOT Present"); 
     return false; 
    } 
} 
    public static boolean isRoaming(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    return (conMgr.getActiveNetworkInfo()!=null && conMgr.getActiveNetworkInfo().isRoaming()); 
} 
0

रूप में अच्छी तरह getProviders(true); द्वारा वापस सूची में प्रदाता है? शायद वह डिवाइस सोचता है कि नेटवर्क स्थान प्रदाता हमेशा PASSIVE_PROVIDER प्रदान करने के लिए सक्षम होना चाहिए? मुझे टूटा लगता है। आप इस व्यवहार को कौन सा सैमसंग डिवाइस देखते हैं?

3

आप भी इस तरह की कोशिश कर सकते हैं:

public boolean isDataConnectionAvailable(Context context){ 
     ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo info = connectivityManager.getActiveNetworkInfo(); 
     if(info == null) 
      return false; 

     return connectivityManager.getActiveNetworkInfo().isConnected(); 
} 

public boolean isGpsEnabled(LocationManager manager){ 
     if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 
      return false; 
     } 
     return true; 
} 

public boolean isLocationByNetworkEnabled(LocationManager manager){ 
     if (!manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
      return false; 
     } 
     return true; 
} 
संबंधित मुद्दे

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