最佳UI设计,无需连接互联网

时间:2013-06-30 12:37:43

标签: android

我的应用程序像许多其他人一样需要不断的互联网连接。在我的主要活动中,我有:

@Override
public void onStart() {
    if (!isOnline()) {
        Intent disconnected = new Intent(this, Disconnected.class);
        startActivity(disconnected);
    }
    else {
        ...
    }
}

Disconnected活动显示带有消息和重试按钮的TextView。  现在问题是,如果用户按下它,他会立即再次进入Disconnected活动,并且无法使用返回退出应用程序。 什么是处理没有互联网连接的优雅方式?我的主要活动是一个ListView,我应该只有隐藏的视图,只有在没有连接时才出现? (我觉得这不是正确的方法)。

2 个答案:

答案 0 :(得分:2)

可以有几个选项

选项1:

使用AlertDialog显示断开连接。将其设置为不可取消,并使用两个按钮,如重试和退出。

选项2:

如果发生网络断开,则使用启动活动开始断开连接活动。在新活动中有一个重试按钮。如果设置了重试,则设置为OK并完成。如果后退按钮按下设置CANCEL。现在在onActivityResult的第一个活动中,如果你得到RESULT_OK然后重试连接。

答案 1 :(得分:0)

如果您的起始活动只是if语句,并且仅用于检查用户是否具有互联网连接,则只需在输入Disconnected活动时完成该活动

您可以通过设置FLAG_ACTIVITY_CLEAR_TOP标记来调用StartActivity来执行此操作。

@Override
public void onStart() {
    if (!isOnline()) {
        Intent disconnected = new Intent(this, Disconnected.class);
        disconencted.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(disconnected);
    }
    else {
        ...  // Here you would want to do the same thing; 
             // if not, the user could navigate back to this activity as well
    }
}

我无法测试这个,但我认为它应该可行。