gpt4 book ai didi

java - 在 startActivity(Intent) 之后恢复 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:47 27 4
gpt4 key购买 nike

我正在实现一个代码来验证是否存在互联网连接。如果没有,它会启动 WiFi 设置,以便用户可以选择互联网连接。

问题是我希望当用户选择连接并单击后退按钮时,我的 Activity 会再次验证是否有任何连接可以继续执行,但它会再次进入 NETWORK_INACTIVE 对话框.

这是我开始新 Activity 的代码:

protected boolean hasNetworkConnection() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

try{
if (!wifi.isConnected()){
if(mobile==null || (mobile!=null && !mobile.isConnected())){
onCreateDialog(NETWORK_INACTIVE).show();
return false;
}
}
}catch(Exception e){
Log.e("AEP41-Has Network", ""+e.getStackTrace());
}
return true;
}
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builter = new AlertDialog.Builder(
AEP41Activity.this);

switch (id) {

case NETWORK_INACTIVE:
builter.setCancelable(false);
builter.setTitle("Erreur de Reseau");
builter.setMessage("Aucune connexion internet trouve");
builter.setNegativeButton("Sortir",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AEP41Activity.this.finish();
}
});
builter.setNeutralButton("Choisir Connexion",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(
Settings.ACTION_WIFI_SETTINGS));
});
break;

default:
break;
}
return builter.create();
}

我已经看到选项 startActivityForResult(Intent, int) 但我没有找到任何使用设置的解决方案。

有什么办法吗?

提前致谢;)

最佳答案

这个调用不正确:

onCreateDialog(NETWORK_INACTIVE).show();

您永远不应该自己调用 onCreateDialog()。 Android 框架会为您完成这项工作。不要调用 onCreateDialog(NETWORK_INACTIVE).show(); 你应该这样做:

showDialog(NETWORK_INACTIVE);

关于java - 在 startActivity(Intent) 之后恢复 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16965512/

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