我的应用程序提取json数据以填充回收站视图。为此,我必须确保在每个时间点都必须激活互联网连接。
我正在使用此代码检查..
private boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting())
{
return true;
}
return false;
}
如果互联网未激活,我正在显示连接对话框
private void showNoConnectionDialog(Context context) {
final Context ctx = context;
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setCancelable(false);
builder.setMessage(R.string.no_connection);
builder.setTitle(R.string.no_connection_title);
builder.setPositiveButton(R.string.settings_button_text, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
ctx.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
}
});
AlertDialog alert = builder.create();
alert.show();
}
这工作正常,我可以导航到设置以启用互联网连接,但是一旦用户打开互联网并按下后退按钮,我该如何恢复活动或重新启动我的活动。这是为了确保用户不需要关闭应用程序并重新启动。请提供一些解决方案
答案 0 :(得分:1)
@Override
public void onResume() {
super.onResume();
if(isOnline() )
{
// call your method
}
else
{
showNoConnectionDialog(context); //display dialog
}
}
答案 1 :(得分:0)
使用以下代码从WIRELESS设置活动中获取结果。
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);
并在onActivityResult()
中实现您的代码答案 2 :(得分:-1)