Как я знал бы, подключено ли мое устройство сеть или нет? Как я могу обнаружить возможность соединения? Какой-либо пример кода?
Во-первых, вам нужно разрешение, чтобы узнать, подключено ли устройство к Интернету или нет. Это должно быть в вашем манифесте, в элементе
:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Затем вам нужно получить ссылку на ConnectivityManager :
ConnectivityManager cm = (ConnectivityManager) Context.getSystemService(Context.CONNECTIVITY_SERVICE);
Оттуда вам нужно получить объект NetworkInfo . Для большинства это будет означать использование ConnectivityManager. getActiveNetworkInfo () :
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
}
Оттуда вам просто нужно использовать один из методов NetworkInfo, чтобы определить, подключено ли устройство к Интернету:
boolean isConnected = ni.isConnected();
http://developer.android.com/reference/android/net/ConnectivityManager.html - CONNECTIVITY_ACTION
Во-первых, вам нужно разрешение, чтобы знать, подключено устройство к Интернету или нет. Оно должно быть в вашем манифесте, в элементе:
then
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if (connec != null && (
(connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) ||
(connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED))) {
//You are connected, do something online.
} else if (connec != null && (
(connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) ||
(connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED ))) {
//Not connected.
Toast.makeText(getApplicationContext(), "You must be connected to the internet", Toast.LENGTH_LONG).show();
}