嗨,我正在开发一个可以连接到服务器的 Android 应用程序。此应用程序可以在线或离线工作。为了连接到服务器,我使用 AsyncTask,它和 indoInBackground
是我执行所有网络操作的地方。然后,当我单击一个按钮时,我会创建一个新的 Asynctask 实例。我想知道是否有一种方法可以检查服务器是否处于活动状态以启动 AsyncTask。我曾想过 try and catch 但我想知道是否有更好的解决方案
问问题
385 次
1 回答
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" />
于 2013-04-25T07:54:34.260 回答