Come posso determinare il tipo di connessione Internet corrente disponibile per un dispositivo Android? per esempio. Farlo restituire WiFi, 3G, nessuno.Come determinare la connessione Internet Android?
risposta
È inoltre possibile utilizzare il TelephonyManager per scoprire che il tipo di rete mobile è:
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
int networkType = telephonyManager.getNetworkType();
possibili tipi di rete sono elencati in http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkType%28%29
vedere questo post, ho risposto la stessa domanda how to save request and resend in android app
È possibile utilizzare questo per determinare se si è connessi:
final ConnectivityManager connectManager = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE); // ctx stands for the Context
final NetworkInfo mobile = connectManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
final NetworkInfo wifi = connectManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI );
// Return true if connected, either in 3G or wi-fi
return ((mobile != null && mobile.getState() == NetworkInfo.State.CONNECTED) ||
(wifi != null && wifi.getState() == NetworkInfo.State.CONNECTED) );
}
Questo codice richiede le autorizzazioni ACCESS_NETWORK_STATE
e ACCESS_WIFI_STATE
.
MODIFICA: public NetworkInfo getNetworkInfo (int networkType)
has been deprecated in API 21. Per i livelli di API superiori a 20 si può fare come segue:
final Network[] networks = connectManager.getAllNetworks();
boolean connected = false;
for (int ctr = 0; !connected && ctr < networks.length; ++ctr) {
final NetworkInfo network = connectManager.getNetworkInfo(networks[ctr]);
final int netType = network.getType();
connected = (network.getState() == NetworkInfo.State.CONNECTED) &&
(
netType == ConnectivityManager.TYPE_MOBILE ||
netType == ConnectivityManager.TYPE_WIFI /*||
netType == ConnectivityManager.TYPE_WIMAX ||
netType == ConnectivityManager.TYPE_ETHERNET */ );
}
return connected;
ho limitato questo codice per la connessione Wi-Fi e 3G, come per ogni domanda del PO ma è facile da estendere nuovamente a aggiunto tipi di connessione quali Ethernet o Wi -Max.
Grazie per la tua preoccupazione. sto cercando di usare questo codice come in questo modo, ma la sua forza è di chiudere \t se (connesso) { \t startActivity (intent7); \t} – user667340
Ciò significa che nel codice che si sta eseguendo quando connesso c'è un errore. Ma non nel codice che stai eseguendo quando non connesso. – Shlublu
si prega di guida come posso mettere in caso di affermazione che se è connesso a Internet dovrebbe aprire l'altro intento altrimenti viene semplicemente visualizzato in brindisi. – user667340
Non so perché l'app si arresta in modo anomalo, forse questo aiuta. Forse provare questo metodo: (ha bisogno del contesto di applicazione)
public static boolean isInternetConnectionActive(Context context) {
NetworkInfo networkInfo = ((ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if(networkInfo == null || !networkInfo.isConnected()) {
return false;
}
return true;
}
quindi provare a chiamare
if(isInternetConnectionActive(getApplicationContext)) {
/* start Intent */
}
else {
/* show Toast */
}
speranza che questo aiuta
- 1. Come determinare la connessione Internet in Cocoa?
- 2. Determinare se la connessione Internet è disponibile
- 3. Come controllate la connessione internet in Android?
- 4. come controllare la vera connessione Internet in Android?
- 5. L'applicazione richiede la connessione Internet
- 6. Connessione Internet diretta su Android Wear?
- 7. syncadapter senza connessione internet
- 8. Verifica rete e connessione Internet - Android
- 9. Errore di connessione Internet
- 10. controllare la connessione Internet nell'applicazione di cacao
- 11. apri l'app per Android quando la connessione internet è attiva, altrimenti non visualizza il messaggio di connessione internet
- 12. simulare la connessione internet lenta su localhost
- 13. Il modo più semplice per determinare se la connessione Internet di iPhone è disponibile?
- 14. Come verificare periodicamente la connessione Internet nell'intera applicazione?
- 15. Come l'app in background può controllare la connessione Internet, IOS?
- 16. Come verificare la presenza della connessione internet in Perl?
- 17. Come verificare se la connessione Internet è presente in java?
- 18. Problema di connessione a Internet lenta in Android
- 19. Android P2P (connessione diretta) su Internet (dietro NAT)
- 20. Listener Internet Esempio Android
- 21. Nessuna connessione Internet per Emulatore di Visual Studio Android
- 22. Verifica la connettività Internet da Unity
- 23. Come controllare connessione internet in AngularJs
- 24. Rilevazione connessione Internet SDK iPhone
- 25. Connectify interrompe la connessione Internet dopo un po 'di tempo
- 26. È richiesta una connessione Internet live per la notifica push?
- 27. Come verificare la connettività Internet all'interno della rete in Android (utilizzando internet di qualche altro dispositivo tramite HOTSPOT)
- 28. Come ottenere la posizione esatta corrente in Android senza connessione Internet?
- 29. Come verificare a livello di codice la disponibilità della connessione Internet in Android?
- 30. Android - Controlla la connessione a Internet e visualizza la finestra di dialogo se non connesso
non funziona per Wi-Fi, lo fa? – shkschneider
No, è per questo che ho detto "Puoi anche ..." nel caso qualcuno abbia bisogno di sapere il tipo di rete mobile utilizzata. Almeno alcune delle altre risposte dicono solo se la connessione è WiFi o mobile. – Intrications