當前位置:首頁 » 安卓系統 » android切換wifi

android切換wifi

發布時間: 2023-03-10 01:50:49

① Android的WiFi功能總結

先進行WiFi許可權的聲明

<!-- 獲取WiFi狀態 -->

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<!--  api <= Android29調用setWifiEnabled  -->

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<!-- 定位許可權(api >= 23 用於 WIFI掃描)-->

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

注意:ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION是危險級許可權需要使用中還需要動態申請,申請其中一個即可。

WifiManager mWifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.R) {

Intent panelIntent =new Intent(Settings.Panel.ACTION_WIFI);

startActivityForResult(panelIntent,null);

}else{ mWifiManager.setWifiEnabled(!isEnable);}

可以通過監聽系統廣播來了解WiFi狀態。

WIFI_STATE_CHANGED_ACTION:WiFi開關狀態;

SCAN_RESULTS_AVAILABLE_ACTION:WiFi列表變化;

RSSI_CHANGED_ACTION:WiFi信號強度變化。

IntentFilter mFilter =new IntentFilter();

mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);

mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);

mReceiver =new BroadcastReceiver() {

@Override

public void onReceive(Context context,Intent intent) {

    handleEvent(intent);

}

};

registerReceiver(mReceiver, mFilter);

private void handleEvent(Intent intent) {

String action = intent.getAction();

if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {

final int wifiState =mWifiManager.getWifiState();

if(wifiState ==WifiManager.WIFI_STATE_ENABLED){

    postDelayed(()->{mRefreshLayout.autoRefresh();},1000);

}

}else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) {

}else if (WifiManager.RSSI_CHANGED_ACTION.equals(action)) {

if(System.currentTimeMillis() -mLastUpateWifiRssiTime <1000){//刷新太快

            return;

}

}

updateWifiChange();

}

切記:wifistate切換到WifiManager.WIFI_STATE_ENABLED,mWifiManager.isWifiEnabled()需要有個等待時間切換。

3的基礎上解析廣播應答

private void updateWifiChange() {

final int wifiState =mWifiManager.getWifiState();

switch (wifiState) {

case WifiManager.WIFI_STATE_ENABLED:

ArrayListresults = (ArrayList)mWifiManager.getScanResults();

updateApListView(results);

mWlanSb.setChecked(mWifiManager.isWifiEnabled() );

break;

case WifiManager.WIFI_STATE_ENABLING:

break;

case WifiManager.WIFI_STATE_DISABLING:

mAdapter.clearData();

mWlanSb.setChecked(mWifiManager.isWifiEnabled() );

break;

case WifiManager.WIFI_STATE_DISABLED:

break;

}

}

② 如何進行android中的啟動和關閉WiFi服務

一般是手機上的應用有聯網行為,而沒有網路可用的情況下的一種提示。 您可嘗試如下操作: 1. 重啟手機試試 2. 設定--應用程序管理器--全部--Android 系統/設定--清除數據試試 3. 換其他sim卡試試 4. 備份重要數據恢復出廠設置,排除第三方軟體影響 5.去設置里找到一個是否在Wifi斷開後自動連接移動數據的選項,把它設成了《否》。手機[設置]-[移動網路]-[網路切換提示],你可以試試。 6.還可以下載個360衛士,最好是最新版 , 先選擇(安全防護),在選擇(軟體流量管理),就出來一個軟體的列表 ,這時候你只需要打鉤,就可以管理軟體使用數據還是wifi上網了,希望對你有幫助

③ android wifi會自動切換

這個是自動設置的,在wifi信號很弱的情況下就牽動到移動數據,如果移動數據,有wifi連接的話就會自動斷開,這是設置的不是自動切換,在手動設置裡面設置成自動切換,他就會,在,wifi弱,和,有wifi的情況下,在,信號與數據之間,切換。

④ Android-WiFi詳解

WiFi是一種無線聯網技術,常見的是使用無線路由器。那麼在這個信號覆蓋的范圍內都可以採用WiFi連接的方式進行聯網。如果無線路由器連接了一個ADSL線路或者其他的聯網線路,則又被稱為「熱點」。
在Android中對WiFi操作,Android本身提供一些有用的包,在anroid.net.wifi包下面。

是一種特殊的 Ad-hoc LAN (一種支持點對點訪問的無線網路應用模式)的應用,一個無線網路至少由一個連接到有線網路的AP和若干無線工作站組成,這種配置稱為一個基本服務裝置。一群計算機設定相同的
BSS名稱,即可自成一個group,而此BSS名稱,即所謂BSSID。通常,手機WLAN中,bssid其實就是無線路由的MAC地址。

網路ID。

無線網路的安全認證模式。

SSID(Service Set Identif)用於標識無線區域網,SSID不同的無線網路是無法進行互訪的。

wifi無線連接的描述,包括接入點,網路連接狀態,隱藏的接入點,IP地址,連接速度,MAC地址,網路ID,信號強度等信息。這里簡單介紹一下這里的方法:

用來管理我們的wifi 連接,這里已經定義好了一些類,可以供我們使用,獲取WiFi網卡狀態。

WIFI網卡的狀態是由一系列的整形常量來表示的。

WiFi需求申請許可權,在AndroidManifest.xml文件中填寫。

1.打開WiFi

2.掃描WiFi信號

3.得到掃描WIFI結果

4.根據WIFI的名稱SSID判定指定WIFI是否已經配置好,配置好則返回其networkId,用於連接。之前嘗試了BSSID地址沒成功,所以只能使用SSID

5.如果需要連接的WIFI沒有配置好,即沒有保存密碼。則為指定名稱ssid的WIFI添加密碼信息psw,添加成功後返回給其分配的networId,同於連接

6.根據步驟6配置好需要連接的WIFI密碼信息後,下面通過networkId連接指定WIFI。在連接經過步驟6剛添加配置信息的WIFI信號之前需要重新執行下步驟4,得到新的配置好信息的列表。

熱點內容
for循環sql語句 發布:2025-05-13 22:45:49 瀏覽:17
python實用代碼 發布:2025-05-13 22:19:41 瀏覽:843
dede資料庫的配置文件 發布:2025-05-13 22:19:08 瀏覽:968
給字元加密 發布:2025-05-13 22:12:32 瀏覽:973
資料庫系統實現答案 發布:2025-05-13 22:11:57 瀏覽:141
哪個軟體可以共存安卓 發布:2025-05-13 22:10:15 瀏覽:553
上傳宦妃天下野泉肉肉 發布:2025-05-13 22:10:10 瀏覽:409
洗眼睛解壓 發布:2025-05-13 21:58:28 瀏覽:273
c存儲指針 發布:2025-05-13 21:49:04 瀏覽:922
結繩編程軟體 發布:2025-05-13 21:49:03 瀏覽:851