0

我正在开发一个 Android 应用程序,该应用程序需要连接到互联网才能工作(填充 listView)。很明显,当我输入它时,我会检查是否有连接(这个链接以这种方式帮助了我:当互联网连接在 android 应用程序中不可用时显示警报)。

如果没有连接,则会出现一个 alertDialog,告诉用户要么退出应用程序,要么进入设置并启用网络访问。因此,在用户启用并返回后,我基本上需要运行需要访问权限的代码......我的问题是......我应该将 if 子句中的代码从下面放在哪里?在 onResume() 或 onRestart 中?

这是我到目前为止的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (checkNetworkStatus()){
            System.out.println("i have internet !!!!!!!!");
        overridePendingTransition(R.anim.slide_left,R.anim.fade);

        setContentView(R.layout.activity_start);
        handler = new Handler();

        Button newOrderButton = (Button) findViewById(R.id.new_order_button);
        newOrderButton.setOnClickListener(newOrderListener);

        Button previousOrderButton = (Button) findViewById(R.id.previous_orders_button);
        previousOrderButton.setOnClickListener(previousOrderListener);
    } else {
        System.out.println("I don't have internet !!!!!!!!");
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Start.this);
            .........
   }
4

1 回答 1

0

如果用户离开活动以打开网络访问,那么无论如何您当前的活动将调用 OnPause()。当用户下次打开您的活动时,肯定会调用 OnResume() ,无论用户退出应用程序还是只是进入设置并返回。检查以查看解释调用这些函数的顺序的流程图。它将消除您对放置所需代码的位置的疑问。希望这可以帮助。

于 2013-04-13T05:45:57.617 回答