中断启动活动

时间:2011-08-03 12:39:22

标签: android

对于经验丰富的开发人员来说,这可能是一个微不足道的问题,但是由于我从PHP开始,我正在努力解决以下问题:

我正在开展一项活动。它所做的第一件事(在onCreate()中)是检查网络连接是否可用。如果没有,我正在显示一个对话框。到目前为止,它正在发挥作用。但是,在这种情况下,我想停止启动例程(onCreate,onResume,...)。我怎么能这样做?

我现在改变了将所有内容放在try / catch构造中的方法,但是许多函数抛出相同的IOException错误 - 如何区分并显示相应的消息/对话框? (例如:没有wifi / 3g可用,没有http连接,下载的文件是空的等)?

我已经找了教程,但没有发现任何更详细的内容,但显而易见的“尝试/捕捉”解释......

3 个答案:

答案 0 :(得分:0)

After checking connection , if you have not net connection ,then finish() 
your activity so it will stop further process automatically

For Checking all connection See my answer there

答案 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();
}