Android:强制关闭Application类中的应用程序

时间:2014-04-22 05:39:42

标签: android internet-connection

我有一个扩展Application类的类。在这个课程中,我正在检查Internet连接并调用Web服务。

以下是我用来检查的方法:

public static boolean isInternetConnected(Context mContext) {
        ConnectivityManager connec = (ConnectivityManager) mContext
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connec != null
                && (connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED)
                || (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED)) {
            return true;
        }
        return false;

    }

当没有互联网连接时,我想强行关闭应用程序。怎么做?

我有另一种解决方案。如果没有Internet连接,我可以跳过调用api进程并等待第一个活动启动并在启动后立即完成该活动。

是否可以在Application类中执行此操作?

3 个答案:

答案 0 :(得分:1)

为什么要强制关闭申请?第一次听到这样的请求。

如果没有互联网,您可以关闭此活动:

if (!isInternetConnected(context)){
    finish();
}

答案 1 :(得分:1)

您可以在Application派生类中调用;

 android.os.Process.killProcess(android.os.Process.myPid());

答案 2 :(得分:0)

这样更好用......

public boolean isOnline() 
{
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting())
    {
        return true;
    }


   // Toast.makeText(getBaseContext(), "Internet is not Connected", Toast.LENGTH_LONG).show();
    alertwifi();
    return false;
}





 public void alertwifi()
    {
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
            context);

        // set title
        alertDialogBuilder.setTitle("NO Internet Connection!!");

        // set dialog message
        alertDialogBuilder
            .setMessage("Click below to turn on Wifi or Enable Data pack")
            .setCancelable(false)
            .setPositiveButton("Wifi",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, close
                    // current activity
                    wifi();
                }
              })
               .setNeutralButton("GPRS",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, close
                    // current activity
                    datapack();
                }
              })
            .setNegativeButton("Back",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, just close
                    // the dialog box and do nothing

                    exit();


                }
            });





public void exit()
{
     Intent intent = new Intent(Intent.ACTION_MAIN);
     intent.addCategory(Intent.CATEGORY_HOME);
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     startActivity(intent);
}


// create alert dialog
        AlertDialog alertDialog = alertDialogBuilder.create();

        // show it
        alertDialog.show();
    }