我的Android应用高度依赖互联网连接。
这是一个用于Internetradio的应用程序。MainActivity显示当前信息,例如是否有dj播放或是否有播放列表(并不时刷新其数据)。
另外,还有两项活动可以显示来自互联网的更多数据(曲目列表和即将上映的节目)。
目前,我在启动mainactivity时正在检查我是否测试了是否连接了wifi,移动设备或wimax,如果没有连接,则显示一条消息并退出该应用程序。
但是我对此感到非常难过。首先,我认为关闭应用程序不是一个好主意,而且检查也是一次。因此,如果我打开应用程序,然后转为平面模式,则应用程序将继续运行并尝试更新数据->失败...
我现在需要的是关于如何改善“我在线上”测试的建议。我现在的想法是BroadcastReceiver
对ConnectivityManager.CONNECTIVITY_ACTION
是然后存储某处一个布尔值connected
,我可以在我的其他代码查找。
有人对如何以尽可能干净的方式解决此问题有一个想法?
提前致谢!
public static boolean isConnected(Context context) {
final ConnectivityManager conMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.getState() == NetworkInfo.State.CONNECTED) {
return true;
} else {
return false;
}
}
您可以使用此方法检查Internet状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句