2016-02-04 89 views
1

美好的一天,我只是爲了教育目的而製作一個應用程序。我已在控制檯開發者網站上啓用Google地圖。Snackbar彈出如果沒有互聯網連接

我的問題是,如何實現或更確切地說如果GPS沒有在手機中啓用/沒有Internet連接 - 檢測到Snackbar會彈出? - 帶有文字「如果連接到互聯網,某些功能將被啓用/使用」。

回答

3

要檢查設備通過移動或WiFi連接您可以使用此代碼:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

//mobile 
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); 

//wifi 
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); 

,然後用它這樣的:

if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) { 
    //mobile 
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) { 
    //wifi 
} 

同時檢查GPS狀態:

public boolean isGPSEnabled (Context mContext){ 
    LocationManager locationManager = (LocationManager) 
       mContext.getSystemService(Context.LOCATION_SERVICE); 
    return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
} 
+0

我忘了問,你知道這個github樣本嗎? – RoCk

+0

@RoCk你想要什麼功能? – sayan

0

爲了檢查網絡連接,你可以在任何文件中創建一個公共函數並在其他地方調用它r文件也。

方法看起來象下面這樣:

public static boolean isconnected() { 
    ConnectivityManager connMan=(ConnectivityManager) MyApplication.getInstance().getApplicationContext().getSystemServices(Context.CONNECTIVITY_SERVICE) ; 
    NetworkInfo = connMan.getActiveNetworkInfo(); 
    return active != null && active.isConnectedOrConnecting(); 

    } 

這裏MyApplication的是清單文件的應用程序標籤內聲明的活動名稱。

相關問題