當前位置:首頁 » 安卓系統 » 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就不會在休眠狀態下自動關閉了。

熱點內容
pc端阿里巴巴賬號在哪裡改密碼 發布:2025-03-25 01:10:58 瀏覽:129
慧編程廣播 發布:2025-03-25 01:10:40 瀏覽:483
伺服器資料庫配置 發布:2025-03-25 01:04:56 瀏覽:704
android視頻文件上傳 發布:2025-03-25 01:04:55 瀏覽:701
安卓手機屏幕橫豎怎麼調整 發布:2025-03-25 00:49:42 瀏覽:404
光遇為什麼下載不了是針對安卓嗎 發布:2025-03-25 00:48:24 瀏覽:562
我的世界伺服器指今 發布:2025-03-25 00:44:05 瀏覽:189
ios10緩存視頻瀏覽器 發布:2025-03-25 00:44:04 瀏覽:920
sqlserver查詢性能優化 發布:2025-03-25 00:38:58 瀏覽:884
西遊伏妖ftp 發布:2025-03-25 00:06:25 瀏覽:58