Android 从设置启用网络连接后恢复活动
我的应用程序获取json数据以填充recycler视图。为此,我必须确保在每个时间点互联网连接都必须处于活动状态 我正在使用此代码检查Android 从设置启用网络连接后恢复活动,android,Android,我的应用程序获取json数据以填充recycler视图。为此,我必须确保在每个时间点互联网连接都必须处于活动状态 我正在使用此代码检查 private boolean isOnline() { ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netIn
private boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting())
{
return true;
}
return false;
}
如果internet未处于活动状态,我将显示一个连接对话框
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();
}
这工作正常,我可以导航到设置以启用internet连接,但如何在用户打开internet并按下“后退”按钮后立即恢复活动或重新启动活动。这是为了确保用户不需要关闭应用程序并重新启动。请提供一些解决方案您应该使用AsyncTask来完成这项工作,我曾经从这张图纸中学到:
@Override
public void onResume() {
super.onResume();
if(isOnline() )
{
// call your method
}
else
{
showNoConnectionDialog(context); //display dialog
}
}
它非常简单,方法也很明确,很容易理解,请看一看!希望这对你有帮助 使用以下代码从“无线设置”活动返回结果
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);
并在onActivityResult()中实现您的代码。使用广播接收器检查您何时连接回Internet。这并不能解决上述问题