美好的一天,我只是爲了教育目的而製作一個應用程序。我已在控制檯開發者網站上啓用Google地圖。Snackbar彈出如果沒有互聯網連接
我的問題是,如何實現或更確切地說如果GPS沒有在手機中啓用/沒有Internet連接 - 檢測到Snackbar會彈出? - 帶有文字「如果連接到互聯網,某些功能將被啓用/使用」。
美好的一天,我只是爲了教育目的而製作一個應用程序。我已在控制檯開發者網站上啓用Google地圖。Snackbar彈出如果沒有互聯網連接
我的問題是,如何實現或更確切地說如果GPS沒有在手機中啓用/沒有Internet連接 - 檢測到Snackbar會彈出? - 帶有文字「如果連接到互聯網,某些功能將被啓用/使用」。
要檢查設備通過移動或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);
}
爲了檢查網絡連接,你可以在任何文件中創建一個公共函數並在其他地方調用它r文件也。
方法看起來象下面這樣:
public static boolean isconnected() {
ConnectivityManager connMan=(ConnectivityManager) MyApplication.getInstance().getApplicationContext().getSystemServices(Context.CONNECTIVITY_SERVICE) ;
NetworkInfo = connMan.getActiveNetworkInfo();
return active != null && active.isConnectedOrConnecting();
}
這裏MyApplication的是清單文件的應用程序標籤內聲明的活動名稱。
我忘了問,你知道這個github樣本嗎? – RoCk
@RoCk你想要什麼功能? – sayan