如果没有互联网连接,关闭应用

时间:2013-07-31 14:00:10

标签: android android-activity back-stack android-internet

OnCreate我的“Home”活动,我想检查是否有互联网连接,如果为false则关闭我的活动显示祝酒..
但是,我的Home Activity不能成为堆栈中的第一个,所以如果只设置finish();它可以关闭此活动并显示活动堆栈中的顶部活动..
所以我写下了这段代码,但它有意义吗?

 if(!Utils.isOnline(mContext))
        if(!moveTaskToBack(true))
            finish();

其中Utils.isOnline()只是我检查互联网连接的方法

编辑:我已经创建了检查互联网连接的方法,它的是Utils.isOnline()..所以我不会问如何检查互联网连接......

EDIT2 :moveTaskToBack()可能不是实现目标的最佳选择,因为是的它将我的活动放在了BackGround但是如果我重新打开它,应用程序不再检查我的状况(不要知道为什么..它跳过onCreate(?))并显示一个空白活动..

2 个答案:

答案 0 :(得分:0)

如果要关闭应用,可以添加以下行:

Intent intent = new Intent(Intent.ACTION_MAIN);
       intent.addCategory(Intent.CATEGORY_HOME);
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

答案 1 :(得分:-1)

试试这段代码。

在onCreate()中加入以下条件。

if(!Utils.isOnline(mContext)){


    Toast.makeText(getApplicationContext(), "You have no Internet Connection!", Toast.LENGTH_SHORT).show(); 
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);
    finish(); 
}