当前位置:首页 » 安卓系统 » androidwifi连接状态

androidwifi连接状态

发布时间: 2022-09-13 08:10:54

① android wifi正在连接的状态广播

很多时候我们都需要实时监听网络状态,当网络状态发生变化之后立即通知程序进行不同的操作。
监听广播的两种方式:
(1)在AndroidManifest.xml配置文件中声明
<receiver android:name=".NetworkConnectChangedReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>1234567

(2)在代码中注册
IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkConnectChangedReceiver(), filter);12345

接下来创建实时监听网络连接与断开状态变化的BroadcastReceiver对象,我们需要继承android.content.BroadcastReceiver,并实现其onReceive方法,下面我们就创建一个名为NetworkConnectChangedReceiver广播接收者,看一下具体的实现代码,由于代码写得很详细,就不一一解释了
package com.per.networkconnectdome;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.wifi.WifiManager;import android.os.Parcelable;import android.util.Log;public class NetworkConnectChangedReceiver extends BroadcastReceiver {
private String getConnectionType(int type) {
String connType = ""; if (type == ConnectivityManager.TYPE_MOBILE) {
connType = "3G网络数据";
} else if (type == ConnectivityManager.TYPE_WIFI) {
connType = "WIFI网络";
} return connType;
} @Override
public void onReceive(Context context, Intent intent) { if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {// 监听wifi的打开与关闭,与wifi的连接无关
int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
Log.e("TAG", "wifiState:" + wifiState); switch (wifiState) { case WifiManager.WIFI_STATE_DISABLED: break; case WifiManager.WIFI_STATE_DISABLING: break;
}
} // 监听wifi的连接状态即是否连上了一个有效无线路由
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
Parcelable parcelableExtra = intent
.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); if (null != parcelableExtra) { // 获取联网状态的NetWorkInfo对象
NetworkInfo networkInfo = (NetworkInfo) parcelableExtra; //获取的State对象则代表着连接成功与否等状态
NetworkInfo.State state = networkInfo.getState(); //判断网络是否已经连接
boolean isConnected = state == NetworkInfo.State.CONNECTED;
Log.e("TAG", "isConnected:" + isConnected); if (isConnected) {
} else {

}
}
} // 监听网络连接,包括wifi和移动数据的打开和关闭,以及连接上可用的连接都会接到监听
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { //获取联网状态的NetworkInfo对象
NetworkInfo info = intent
.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if (info != null) { //如果当前的网络连接成功并且网络连接可用
if (NetworkInfo.State.CONNECTED == info.getState() && info.isAvailable()) { if (info.getType() == ConnectivityManager.TYPE_WIFI
|| info.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.i("TAG", getConnectionType(info.getType()) + "连上");
}
} else {
Log.i("TAG", getConnectionType(info.getType()) + "断开");
}
}
}
}
}

在onReceive方法里面,我们可以获取从广播而来的Intent中的数据,这包含很多有用的信息,其中
ConnectivityManager : 主要管理和网络连接相关的操作
WifiManager: 管理和wifi相关的信息
TelephonyManager: 管理和手机、运营商等的相关信息
NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过getState()方法获取的State对象,代表着连接成功与否的状态。
最后记得添加权限:
<uses-permission android:name="android.permission.access_wifi_state" /><uses-permission android:name="android.permission.access_network_state" />

安卓手机连接不上wifi是什么原因

如果您使用的是vivo手机,您可以参照以下方法查看:
1、检查WiFi密码是否正确
建议输入密码时点击"眼睛图标",将密码显示出来,确保密码正确。
2、重新连接WiFi
请进入设置--WLAN,点击需要连接的WiFi,点击"忘记网络/忘记密码"后重新连接。
3、检查WiFi网络是否正常
请对比其它手机连接相同WiFi是否正常,确认是WiFi还是手机原因。如是WiFi原因,请重启无线路由器查看。同时可进入路由器管理界面查看是否设置有特殊功能:如连接数量限制,MAC绑定,上网时间管理等。
4、重置网络设置
进入设置--系统管理--备份与重置--重置网络设置--选择对应SIM卡--重置设置,再使用查看。
*注:重置网络设置会重置WLAN、移动数据网络和蓝牙连接记录
5、还原所有设置
进入设置--系统管理--备份与重置--还原所有设置,根据屏幕提示操作。
*注:还原所有设置不会删除任何数据或媒体文件,仅会还原手机的所有设置,部分第三方应用帐号需要重新登录,请确认不影响软件使用后再进行操作。

③ android 判断wifi是否打开

//获取系统服务
ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
//获取状态
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
//判断wifi已连接的条件
if(wifi == State.CONNECTED||wifi==State.CONNECTING)
希望我的回答能帮助到你,满意请采纳,谢谢!

④ 在android上查看wifi状态,代码如下:

不知道你的程序报的是什么错,给你一个例子吧,不过方法和你的有点差别:
public class WifiAdmin {
/**WiFi Manager**/
private WifiManager wifimanager;
/**WiFi Information**/
private WifiInfo wifiinfo;
/**Activity NetWork List**/
private List<ScanResult> netlist;
/**Configured NetWork List**/
private List<WifiConfiguration> connectedlist;
/**WiFi Lock**/
private WifiLock wifilock;

public WifiAdmin(Context context) {
wifimanager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}

/**
* WiFi Operate
* */
/**Open WiFi**/
public void openWifi() {
if (!wifimanager.isWifiEnabled()) {
wifimanager.setWifiEnabled(true);
}
}
/**Close WiFi**/
public void closeWifi() {
if (wifimanager.isWifiEnabled()) {
wifimanager.setWifiEnabled(false);
}
}
/**WiFi State**/
public int checkState() {
return wifimanager.getWifiState();
}

/**
* WiFiLock Operate
* */
/**Create WiFiLock**/
public void creatWifiLock() {
wifilock = wifimanager.createWifiLock("Test");
}
/**Lock WiFi**/
public void acquireWifiLock() {
wifilock.acquire();
}
/**Clear WiFiLock**/
public void releaseWifiLock() {
if (wifilock.isHeld()) {
wifilock.release();
}
}
/**
* WiFiInfo Operate
* */
/**Get WiFiInfo**/
public WifiInfo getWifiInfo(){
wifiinfo = wifimanager.getConnectionInfo();
return wifiinfo;
}

/**
* NetWork Operate
* */
/**Scan**/
public void startScan() {
wifimanager.startScan();
netlist = wifimanager.getScanResults();
connectedlist = wifimanager.getConfiguredNetworks();
}
/**Get Configured NetWork**/
public List<WifiConfiguration> getConfiguration() {
return connectedlist;
}
/**Get Activity NetWork**/
public List<ScanResult> getWifiList() {
return netlist;
}
/**Connect a NetWork**/
public void connectConfiguration(int index) {
if (index < 0 || index > connectedlist.size()) {
return;
}
wifimanager.enableNetwork(connectedlist.get(index).networkId,true);
}
/**Add a NetWork**/
public void addNetwork(WifiConfiguration wcg) {
int wcgID = wifimanager.addNetwork(wcg);
wifimanager.enableNetwork(wcgID, true);
}
/**DisConnect a NetWork**/
public void disconnectWifi(int netId) {
wifimanager.disableNetwork(netId);
wifimanager.disconnect();
}
}

⑤ 如何检查Android中的WiFi网络是否连接成功

有那个WIFI的图标出来显示有信号就是成功了。如果想看是连到哪个就在设置里看无线网络里的网络连接

⑥ Android wifi连接,怎么监控密码错误,正在连接,连接成功

mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); //信号强度变化
mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); //网络状态变化
mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); //wifi状态,是否连上,密码
mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); //是不是正在获得IP地址
mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);//连上与否
用这些广播,你再看看广播的内容就搞得定了。

⑦ 手机wifi连接上不能上网怎么办安卓

如果您使用的是华为手机,能连上wifi但是不能上网,可以通过以下方法进行排查处理:
一、若使用的是家庭网络,建议连接其他wifi或手机个人热点进行测试排查:
1.如果连接其他WiFi正常
(1)请不要远离路由器;
(2)请检查宽带帐号是否到期,重启路由器并重启手机后尝试;
(3)如果将路由器设置过黑白名单,则需检查手机mac地址是否加入路由器端,如路由器没有设置黑白名单,请将路由器断电重启尝试。
2.如果连接其他WiFi也无法上网
(1)请重新打开WLAN开关连接尝试;
(2)建议在设置中搜索还原网络设置,根据屏幕提示还原。(注:此操作会删除WLAN和蓝牙连接记录)。
二、若使用的是公共网络:
1.尝试在人流量较少的地方使用,并确认热点可正常使用。
2.请确认是否需通过浏览器登录网站注册后才能上网。
三、若个别应用无法上网:
请打开设置,在上方搜索框内输入流量管理并点击进入流量管理页面,点击应用联网 ,查看个别应用是否勾选WLAN权限,建议将需要使用应用的WLAN权限全部勾选。
如果尝试以上方法,均未能解决问题,建议备份数据(微信/QQ等应用需单独备份),携带购机凭证前往华为客户服务中心检测。

⑧ android wifi状态从 connected转到saved是什么情况

你好,手机先生为您解答.

根据您所提到的问题,connected是已连接,saved是已保存,可能的原因是Wi-Fi连接失效,或者路由器IP地址分配已满,你被挤掉了,重新多连接几次或者使用静态IP连接试试.

希望我的回答能对你有所帮助,祝您生活愉快!

(望采纳,谢谢)

⑨ 如何检查Android中的WiFi网络是否连接成功

01.public boolean isWifiConnect() {
02. ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
03. NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
04. return mWifi.isConnected();
05. }
代码非常简单,操作也非常简单。

01.boolean isConnected;
02.isConnected = isWifiConnect();
03.if (isConnected == false) {
04.Toast toast = Toast.makeText(Sync.this, "Wifi is NOT connected yet", Toast.LENGTH_SHORT);
05.toast.setGravity(Gravity.CENTER, 0, 0);
06.toast.show();
07.} else {
08.Toast toast = Toast.makeText(Sync.this, "Wifi is connected yet", Toast.LENGTH_SHORT);
09.toast.setGravity(Gravity.CENTER, 0, 0);
10.toast.show();
11.}

⑩ 安卓手机休眠状态保持WiFi连接方法

现如今,智能手机之所以被大家所青睐,很大原因就是手机可以随时随地上网娱乐,手机WiFi的使用也是非常给力的,但手机进入了休眠状态,WiFi就会关闭,那么如果下载东西就不能休眠下载了。
1)打开手机“设置”,然后点击“WLAN”选项的文字部分进入选项。
2)在“WLAN”选项页面,点击右下角按钮,在弹出菜单选择“高级”,在此选项页面找到并点击“在休眠状态下保持WLAN网络连接”。
3)在弹出页面选择“始终”,这样,WIFI就不会在休眠状态下自动关闭了。

热点内容
服务器多个ftp 发布:2025-03-26 16:34:02 浏览:355
缓解压力的花茶 发布:2025-03-26 16:30:51 浏览:246
宝马报警编程 发布:2025-03-26 16:09:04 浏览:825
一加z怎么样配置好 发布:2025-03-26 16:04:49 浏览:232
acer暗影骑士龙能装存储卡吗 发布:2025-03-26 16:04:36 浏览:310
php与lua 发布:2025-03-26 16:03:58 浏览:697
phpcurlxml 发布:2025-03-26 15:44:58 浏览:727
安卓手机如何清空流量 发布:2025-03-26 15:43:45 浏览:349
sqlserver图标 发布:2025-03-26 15:29:09 浏览:457
音频去噪算法 发布:2025-03-26 15:17:58 浏览:556