我有一个扩展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类中执行此操作?
答案 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();
}