Android 更改网络状态后在何处调用代码

Android 更改网络状态后在何处调用代码,android,networking,onresume,Android,Networking,Onresume,我正在开发一个Android应用程序,它需要连接到互联网才能工作(填充列表视图)。所以很明显,当我进入它时,我会检查是否有连接(这个链接在这方面帮助了我:) 如果没有连接,将显示一个alertDialog,告诉用户退出应用程序,或者转到设置并启用网络访问。所以在用户启用并返回后,我基本上需要运行需要访问权限的代码。。。 我的问题是…我应该把下面if子句中的代码放在哪里?在onResume()中还是在onRestart中 这是我到目前为止的代码: public void onCreate(Bund

我正在开发一个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);
            .........
   }

如果用户离开活动以打开网络访问,则您当前的活动将以任何方式调用OnPause()。当用户下次打开“活动”时,无论用户退出应用程序还是直接转到“设置”并返回,都肯定会调用OnResume()。查看说明这些函数调用顺序的流程图。它将消除您对将所需代码放在何处的疑问。希望这能有所帮助。

我理解。但是,当通过侧键(基本上打开一个新的小窗口)或上方的栏提供网络访问时,会发生什么情况?据我所知,目前还没有正式的简历,我理解你的担忧。然后你可以考虑实现某种类型的侦听器。看见