Я пишу панель запуска установки iptv в андроиде, и я пытаюсь выяснить информацию о подключении к сети Ethernet (что независимо от того, подключен ли пользователь к кабелю Ethernet или нет), пожалуйста, помогите ... Мое извинение, если вопрос непонятен. Пожалуйста, помогите мне это нужно плохо, застрял с последних трех дней.программирование ящика IPTV для пусковой установки
-2
A
ответ
0
private Boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
}
public Boolean isWifiConnected(){
if(isNetworkAvailable()){
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI);
}
return false;
}
public Boolean isEthernetConnected(){
if(isNetworkAvailable()){
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET);
}
return false;
}
Тогда:
if(isEthernetConnected()){
// connected
}
else {
//not connected
}
0
Вы можете проверить, если ваши подключены Ethernet или Wi-Fi с ConnectivityManager
:
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo ethernet = connManager.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET);
// get the ethernet state with : ethernet.getState()
// get the Wifi state with : wifi.getState()
Вам нужно добавить в манифесте:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Вы можете зарегистрироваться на событие подключения с помощью BroadcastReceiver
, check this example
Или вы можете использовать this library, что делает его для вас