Я написал приложение для Android, которое требует передачи большого количества данных через сеть. Чтобы сохранить низкие счета-фактуры, я добавил в свою конфигурацию переключатель, который должен переключать приложение в режим «wlan only».
К сожалению, мне не удалось реализовать правильную проверку соединения WLAN в моем приложении, основная идея заключалась в добавлении необходимых разрешений через
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
в моем манифесте (которого должно хватить для этой цели) и реализовал простой метод, к которому обращаются в моей деятельности:
protected boolean checkForNetwork(Context context, boolean wlanOnly) {
// check via ACCESS_NETWORK_STATE
ConnectivityManager manager = (ConnectivityManager) context.
getSystemService(Context.CONNECTIVITY_SERVICE);
if (!wlanOnly) {
return manager.getActiveNetworkInfo().isConnected();
} else {
// hmm...
}
}
Я совершенно не уверен, что входит в // хмм ... часть.