在网络上执行任何操作之前,我会检查此类是否存在互联网连接:
public final class Internet {
public static boolean online(Context context) {
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
return activeNetwork != null && activeNetwork.isConnected();
}
}
然后在一个活动中(在执行任何操作之前):
if(Internet.online) {
/* cast my spell */
}
并且一切正常,但如果有连接但由于某些原因互联网并非真正可用,则应用程序崩溃。
我如何处理这种情况?什么是最佳做法?
也许我需要检查服务(例如Google)是否可以访问?或者我需要使用(在' if'语句中)一些try / catch(如果是,有女巫例外)?
谢谢。