我在使用互联网的应用程序上工作。
我的问题是,当设备连接到互联网时,我的应用程序工作正常但是当设备未连接到互联网时“进度对话框”正在运行无限时间。
如果设备未连接到互联网或wifi,我想停止对话。怎么做?
任何的想法?
对不起伙计....我改变主意,我想点击按钮时检查互联网连接。我到目前为止所尝试的是......
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.homelayout);
mclip = (ImageButton) findViewById(R.id.clip);
mclip.setClickable(true);
mclip.setFocusable(true);
mclip.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
//if it is connected to internet than start Another Activity.
startActivity(new Intent(ListViewExample.this, ClipOfDay.class));
} else if (netInfo == null) {
AlertDialog alertDialog = new AlertDialog.Builder(ListViewExample.this).create();
alertDialog.setTitle("Connection Problem");
alertDialog.setMessage("You are not connected to Internet");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();
}
}
});
}
但这不起作用。如果设备未连接到互联网,我想显示AlertDialog。否则会启动Activity。任何人都可以告诉我该怎么做? 谢谢。
答案 0 :(得分:2)
检查网络连接
用于检查连接的简单代码
ConnectivityManager cMgr = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cMgr.getActiveNetworkInfo();
String status = netInfo.getState().toString();
if (status.equals("CONNECTED")) {
//DO you work
} else {
Log.e("error", "No connection available ");
}
答案 1 :(得分:1)
使用这两种方法检查连接性:
Context.getSystemService(Context.CONNECTIVITY_SERVICE).getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
Context.getSystemService(Context.CONNECTIVITY_SERVICE).getNetworkInfo(ConnectivityManager.TYPE_WIFI)
然后解析返回的结果以了解连接是否可用。 如果它可用,那么只做事情并放置对话框。
或者,您也可以弹出对话框,在执行任何网络操作之前,检查与这些方法的连接,如果连接不可用,则隐藏/取消对话框并显示错误消息。 否则,去网络行动。 是的,总是有一个try-catch块。
答案 2 :(得分:0)
这可以是这样做的一种方式.............. 希望它有所帮助.......