如何关闭android活动中的警报?
Posted
技术标签:
【中文标题】如何关闭android活动中的警报?【英文标题】:How to close alerts in android activity? 【发布时间】:2013-12-25 12:47:24 【问题描述】:我正在尝试检查活动中的互联网连接。当没有互联网连接时,我正在使用警报打开 Wi-Fi。
我不知道该怎么办。我的程序发出 5 个或更多警报。 我可以做些什么来改变它?
【问题讨论】:
如果您的问题是您的代码产生了太多警报,请向我们展示该代码。 【参考方案1】:要检查 Internet 连接,以下方法会有所帮助。当没有互联网连接来激活 Wifi 连接时,将在 if 循环中调用警报对话框。
public static void checkTheNetworkAvailability(Context con)
Context mycontext = con;
ConnectivityManager myconnectivity = (ConnectivityManager) mycontext
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (myconnectivity == null)
return false;
// failed null!..
//show the alert box here for WiFi enabling
alert.show();
else
NetworkInfo[] myinfo = myconnectivity.getAllNetworkInfo();
if (myinfo != null)
for (int i = 0; i < myinfo.length; i++)
if (myinfo[i].getState() == NetworkInfo.State.CONNECTED)
return true;
return false;
警报对话框如下
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Message")
.setTitle("Title")
.setCancelable(true);
builder.setPositiveButton("Wifi On", new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int id)
wifiManager.setWifiEnabled(true);
);
builder.setNegativeButton("Wifi Off", new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int id)
wifiManager.setWifiEnabled(false);
);
AlertDialog alert = builder.create();
并在 Manifest 文件中添加以下权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
【讨论】:
【参考方案2】:重复使用相同的AlertDialog
,而不是在每次应用出现连接问题时都创建一个新的。您可以使用isShowing()
方法检查AlertDialog
是否正在显示,因此您无需再次显示。
【讨论】:
以上是关于如何关闭android活动中的警报?的主要内容,如果未能解决你的问题,请参考以下文章