gpt4 book ai didi

android - 当我连接网络时,如何重新启动我当前的 Activity ?

转载 作者:行者123 更新时间:2023-11-30 04:48:46 24 4
gpt4 key购买 nike

我正在开发一个应用程序,我正在使用 xml 解析显示来自 URl 的图像。当互联网断开连接时,我会弹出警报窗口。

现在,当我的设备连接到网络时,我希望我当前的 Activity 自动重启。

最佳答案

您需要有一个 BroadcastReceiver 来监听互联网变化。如果你只需要在你的 Activity 中使用这个逻辑,你可以这样做:

private BroadcastReceiver mReceiver;
private IntentFilter mFilter;

@Override
protected void onCreate(Bundle savedInstanceState) {

mFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
mReceiver = new ConnectionChangeReceiver();
}

@Override
protected void onResume() {
super.onResume();
registerReceiver(mReceiver, mFilter);
}

@Override
protected void onPause() {
super.onPause();
unregisterReceiver(mReceiver);
}


private class ConnectionChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context arg0, Intent i) {
ConnectivityManager connectivityManager = (ConnectivityManager) ActivityActionBar.this
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager.getActiveNetworkInfo() == null) {
onLoseInternet();
}
}
}

onLoseInternet() 方法你应该做一些事情来重置一切。可能性:

到目前为止我找到的最佳方法

onCreate() 方法中,我有两个调用:getWidgets()populateWidgets()

getWidgets() 负责做所有的 findViewById 事情,populateWidgets() 基本上会用正确的信息填充它们。

因此,当我需要重置信息时,我只需调用 populateWidgets()

骇人听闻的方式

我不知道这是否可行,但您可以尝试这样做:

  • finish();
  • startActivity(new Intent(this, this.class));

关于android - 当我连接网络时,如何重新启动我当前的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com