对于经验丰富的开发人员来说,这可能是一个微不足道的问题,但是由于我从PHP开始,我正在努力解决以下问题:
我正在开展一项活动。它所做的第一件事(在onCreate()中)是检查网络连接是否可用。如果没有,我正在显示一个对话框。到目前为止,它正在发挥作用。但是,在这种情况下,我想停止启动例程(onCreate,onResume,...)。我怎么能这样做?
我现在改变了将所有内容放在try / catch构造中的方法,但是许多函数抛出相同的IOException错误 - 如何区分并显示相应的消息/对话框? (例如:没有wifi / 3g可用,没有http连接,下载的文件是空的等)?
我已经找了教程,但没有发现任何更详细的内容,但显而易见的“尝试/捕捉”解释......
答案 0 :(得分:0)
After checking connection , if you have not net connection ,then finish()
your activity so it will stop further process automatically
答案 1 :(得分:0)
最好在开始Activity
之前检查一下,或者如果您没有互联网连接,可以在finish()
上致电Activity
。
答案 2 :(得分:0)
将代码从onCreate()移到单独的方法ex。 init()
。测试onCreate()中的网络连接,当调用init()
时,如果没有 - finish()
。
@Override
protected void onCreate(Bundle savedInstanceState) {
if(isConnectionAvailable()){
init();
}else{
Toast.makeText(this, "Not connected", Toast.LENGTH_SHORT).show();
finish();
}
}
public boolean isConnectionAvailable() {
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo();
return (activeNetworkInfo != null) && activeNetworkInfo.isConnected();
}