我有这个代码来检查互联网连接是否可用.
public static boolean isOnline() { Runtime runtime = Runtime.getRuntime(); try { Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int exitValue = ipProcess.waitFor(); return (exitValue == 0); } catch (IOException | InterruptedException e) { e.printStackTrace(); } return false; }
现在我想使用RxJava/RxAndroid执行相同的任务.那怎么能这样呢?
如果您被允许使用,ConnectivityManager
这是检查互联网连接的快速方法:
public static ObservableisInternetOn(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return Observable.just(activeNetworkInfo != null && activeNetworkInfo.isConnected()); }
然后按如下方式使用它:
private Observable
如果您需要更多信息,此答案提供了更详细的说明.