Код: Выделить всё
public class NetworkHelper {
private static final String TAG = "NetworkHelper";
public static boolean isDeviceConnectedToNetwork(Context context) {
boolean isConnected = false;
try {
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
Log.d(TAG, "Checking network: " + isConnected);
return isConnected;
} catch (NullPointerException e) {
return false;
}
}
Код: Выделить всё
public class MQTTConnectionFragment extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
networkCheckerThread = new HandlerThread("NetworkCheckerThread");
networkCheckerThread.start();
networkCheckerHandler = new Handler(networkCheckerThread.getLooper());
networkCheckerRunnable = () -> {
Log.d(TAG, "Running network check");
boolean isConnected = NetworkHelper.isDeviceConnectedToNetwork(getContext());
getActivity().runOnUiThread(() -> {
if (isConnected) {
connectionBox.setVisibility(View.VISIBLE);
disconnectButton.setVisibility(View.GONE);
loadingWheel.setVisibility(View.GONE);
noNetworkTextView.setVisibility(View.GONE);
} else {
connectionBox.setVisibility(View.GONE);
disconnectButton.setVisibility(View.GONE);
loadingWheel.setVisibility(View.GONE);
noNetworkTextView.setVisibility(View.VISIBLE);
}
networkCheckerHandler.postDelayed(networkCheckerRunnable,
isConnected ? 5000 : 3000);
});
};
networkCheckerHandler.postDelayed(networkCheckerRunnable, 200);
return view;
}
...
}
Может ли это быть потому, что я использую AVD ? Или я чего-то не вижу в своем коде?
У меня какое-то время нет доступа к физическому устройству, и я подумал, что тестирование на AVD подойдет.
Подробнее здесь: https://stackoverflow.com/questions/786 ... evelopment