Android 中断活动的开始

Android 中断活动的开始,android,Android,对于有经验的开发人员来说,这可能是一个微不足道的问题,但由于我来自PHP,我正在努力解决以下问题: 我正在开始一项活动。它所做的第一件事(在onCreate()中)是检查网络连接是否可用。如果没有,我将显示一个对话框。到目前为止,它的工作。但是,在这种情况下,我希望停止启动例程(onCreate、onResume等)。我该怎么做 我现在已经改变了将所有内容放入try/catch结构的方法,但许多函数都会抛出相同的IOException错误-我如何区分和显示适当的消息/对话框?(例如:没有wifi

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

我正在开始一项活动。它所做的第一件事(在onCreate()中)是检查网络连接是否可用。如果没有,我将显示一个对话框。到目前为止,它的工作。但是,在这种情况下,我希望停止启动例程(onCreate、onResume等)。我该怎么做

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

我已经找了一些教程,但没有找到任何更详细的,但明显的“尝试/抓住”解释

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

最好在开始
活动之前检查此项,或者如果没有internet连接,可以在
活动上调用
finish()

将代码从onCreate()移动到单独的方法,例如
init()
。在onCreate()中测试网络连接,当传递时调用
init()
,如果不是-
finish()


如果你发布你的代码会更好。你为什么要这样做?请解释更多关于你为什么要停止活动生命周期的事情。你能更具体一点或者发布一些代码吗?据我所知,您正试图显示无wifi、连接超时等的特定消息。为此,您必须创建特定的方法:例如:isWifiEnabled()返回布尔值,在这里,如果启用了wifi,请签入连接管理器等。我宁愿先显示一个对话框。。。我正在通过单击对话框中的“确定”按钮调用finish()。是的,它也可以是这样,如果您从我的答案中得到任何帮助,请接受它并向上投票thanks-这是解决小问题的有效方法。但总的来说,我仍在为如何处理异常而挣扎。我的过程包含以下步骤:1)将str转换为url 2)打开http连接到url 3)从连接下载文本4)将下载的文本转换为JSON对象5)通过JSON对象循环并在textview中输出内容。每个步骤都可能引发异常(url无效、无法访问服务器、下载的文本为空等)。我应该把所有这些步骤放在许多嵌套的“如果”中吗?或者我应该尝试捕捉异常(以及在哪里)?这是一个如何在java中处理异常的问题。这应该有帮助:。如果我是你。1.检查
onCreate()
-未连接时显示对话框中的连接。2.连接和解析是一项长期运行的任务。我会在任务中完成它。如果出现异常,请显示带有消息和
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();
}