【发布时间】:2012-11-20 17:27:59
【问题描述】:
如果用户正在移除/删除已在 Wifi 设置中配置的网络,我该如何收听?
wifi settings http://img820.imageshack.us/img820/7058/screenshot2012120316580.png
例如在上图中,用户点击“忘记网络”,我该如何监听该事件?
是否有可用于该操作的广播?
【问题讨论】:
标签: android android-wifi
如果用户正在移除/删除已在 Wifi 设置中配置的网络,我该如何收听?
wifi settings http://img820.imageshack.us/img820/7058/screenshot2012120316580.png
例如在上图中,用户点击“忘记网络”,我该如何监听该事件?
是否有可用于该操作的广播?
【问题讨论】:
标签: android android-wifi
试试这个 ::
此方法检查图像的onclick()是否连接到互联网。如果用户单击“忘记网络”,您可以按相反的顺序设置布尔值以断开互联网 希望这可以解决您的问题::
private boolean haveConnectedWifi;
private boolean haveConnectedMobile;
img.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
haveNetworkConnection();
if ((haveConnectedWifi)|| (haveConnectedMobile)){
Toast.makeText(Activity1.this, "Internet is go!", 3000).show();
Intent i = new Intent(Activity1.this, Activity2.class);
startActivity(i);
}
else{
Toast.makeText(Activity1.this, "No access to Internet..please try again", 3000).show();
}
}
});
private boolean haveNetworkConnection() {
haveConnectedWifi = false;
haveConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;
}
【讨论】:
根据http://code.google.com/p/android/issues/detail?id=38819,自 ICS 以来没有用于此的公共 API。
【讨论】: