您好我正在开发一款可以连接服务器的Android App。此应用程序可以在线或离线工作。为了连接到服务器,我使用AsyncTask,它在doInBackground
中是我执行所有网络操作的地方。然后,当我单击按钮时,我创建了一个新的Asynctask实例。
我想知道的是,是否有一种方法可以检查服务器是否处于活动状态以启动AsyncTask。我想过尝试和捕获,但我想知道是否有更好的解决方案
答案 0 :(得分:3)
在执行AsyncTask之前,请使用此代码段检查网络连接。
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = connMgr.getActiveNetworkInfo();
boolean isConnected = netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED;
不要忘记在清单中添加权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />