當前位置:首頁 » 安卓系統 » android打開wifi

android打開wifi

發布時間: 2022-12-14 01:18:16

1. android怎麼打開wifi

安卓如果想要打開WiFi的話,在手機設置當中,點擊WiFi就能夠打開WiFi。

2. android 怎麼開啟wifi

手機設置--wlan--開啟--掃描--輸入密碼--連接--顯示連接上就可以使用了。

3. android怎麼開啟wifi熱點

需要的工具原料:Android手機

  1. 在Android手機中打開手機系統設置,進入」手機系統設置窗口」

5.設置完成

注意事項:建議在安全性選擇WPA2 PSK

4. 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,得到新的配置好信息的列表。

5. Android 怎樣默認打開攜帶型WIFI熱點 M

目前判斷Wifi開機後是否需要的自動開啟實現是在wifiService.java的checkAndStartWifi() 函數里,類似的,可以參照wifi在wifiService.java里添加一下如下函數:
public void checkAndStartSoftAp() {
mWifiStateMachine.autoConnectInit();
boolean isAirplaneModeOn = isAirplaneModeOn();
int persistedWifiState = getPersistedWifiState();
SXlog.d(TAG, isAirplaneModeOn: + isAirplaneModeOn + , getPersistedWifiState: + persistedWifiState);
mAirplaneModeOn.set(isAirplaneModeOn);
mPersistWifiState.set(persistedWifiState);

if (mWifiStateMachine.hasCustomizedAutoConnect() && mAirplaneModeOn.get()) { //AirplaneMode下不打開SoftAp,客戶也可以看情況不限制
SXlog.i(TAG, Don't enable softAp when airplane mode is on for customization.);
} else {
Slog.i(TAG, WifiService starting up with softAp);

setWifiApEnabled(null, true);
} } 然後,在systemServer.java里搜索wifi.checkAndStartWifi(), 可以找見它在ServerThread的run里,將wifi.checkAndStartWifi()替換成wifi.checkAndStartSoftAp(),然後,編譯測試。

6. android adb shell 中怎麼開啟wifi 熱點

前提是有安裝wpa supplicant ,步驟如下:
adb shell
svc wifi enable 打開無線網路服務 用ps|grep wifi 查看wpa_supplicant是不是已經起來了。
wpa_cli
scan 掃描無線網路
scan_results 按信號順序顯示掃描到的無線網路
list_networks
select_network [network id] 選擇網路
enable_network [network id]
password 配置網路的密碼
ping 應該會成功
netcfg 查看本機的網路參數
df 查看手機空間

解決方法如下:
adb shell
su
然後
第一步:載入驅動
insmod /lib/moles/dhd.ko "firmware_path=/system/etc/wifi/bcmdhd_apsta.bin nvram_path=/system/etc/wifi/nvram_net.txt iface_name=wlan0"
第二步:
netcfg wlan0 up
第三步:
ndc softap startap

以上方法雖然可以打開,但是firmware_path=/system/etc/wifi/bcmdhd_apsta.bin是無法找到的,並且
firmware_path=/system/etc/wifi/bcmdhd_apsta.bin_b2這個文件是無法打開softap的

7. Android中怎麼打開Wifi的組播功能

打開Android中Wifi的組播功能。主要有以下幾個步驟:
在Manifest文件中加入:android.permission.CHANGE_WIFI_MULTICAST_STATE,這個許可權
獲取到MulticastLock對象,這個對象不能直接實例化,要通過WifiManager間接得到,工廠模式
調用MulticastLock對象的acquire方法,獲取到組播鎖
相應的,用完組播,為了不浪費電力,要調用MulticastLock的release方法釋放鎖
下面寫了個簡單示例,通過組播發現伺服器。
Activity寫的比較簡單
public class MulticastDemoActivity extends Activity {
MulticastLock multicastLock;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
allowMulticast();
try {
NetUtil.findServerIpAddress();
} catch (IOException e) {
throw new RuntimeException(e);
}
Log.d("multicast.demo", "find ip ok.");
multicastLock.release();
}
private void allowMulticast(){
WifiManager wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);
multicastLock=wifiManager.createMulticastLock("multicast.test");
multicastLock.acquire();
}
}
在Activity中打開和釋放組播鎖。使用組播發送報文和接收ip地址信息的工具類代碼:
public class NetUtil {
private static final String TAG="Net.Utils";
private static final int MULTICAST_PORT=5111;
private static final String GROUP_IP="224.5.0.7";
private static byte[] sendData;
static{
sendData=new byte[4];
// 0xEE78F1FB
sendData[3] = (byte) 0xEE;
sendData[2] = (byte) 0×78;
sendData[1] = (byte) 0xF1;
sendData[0] = (byte) 0xFB;
}
public static String findServerIpAddress() throws IOException{
String ip=null;
MulticastSocket multicastSocket=new MulticastSocket(MULTICAST_PORT);
multicastSocket.setLoopbackMode(true);
InetAddress group = InetAddress.getByName(GROUP_IP);
multicastSocket.joinGroup(group);
DatagramPacket packet=new DatagramPacket(sendData, sendData.length,group,MULTICAST_PORT);
for(;;){
multicastSocket.send(packet);
Log.d(TAG,">>>send packet ok");
byte[] receiveData=new byte[256];
packet=new DatagramPacket(receiveData, receiveData.length);
multicastSocket.receive(packet);
String packetIpAddress=packet.getAddress().toString();
packetIpAddress=packetIpAddress.substring(1, packetIpAddress.length());
Log.d(TAG,"packet ip address: "+packetIpAddress);
StringBuilder packetContent=new StringBuilder();
for(int i=0;i<receiveData.length;i++){
if(receiveData[i]==0){
break;
}
packetContent.append((char)receiveData[i]);
}
ip=packetContent.toString();
Log.d(TAG,"packet content ip is: "+ip);
if(ip.equals(packetIpAddress)){
Log.d(TAG,"find server ip address: "+ip);
break;
}else{
Log.d(TAG,"not find server ip address, continue …");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
return ip;
}
}

8. 【Android初級】android掃描WiFi列表的正確用法

最近有個需求,需要做一個掃描WiFi列表的功能,也在網上找了一些資料,但有些資料是有問題的,然後自己摸索了下,總結如下。

本地環境:

AS版本 3.0.1,DEMO APK 的 Min SDK Version 是 API 23,Target SDK Version 是 API 24,Compile SDK Version是 API 26,真機是Android 7.0

1、打開WiFi,並打開定位服務(在設置內找到定位服務-訪問我的位置信息-開啟)

2、在 onCreate 裡面動態申請許可權

String[] PERMS_INITIAL={Manifest.permission.ACCESS_FINE_LOCATION};

requestPermissions(PERMS_INITIAL,127);

3、在 onCreate 裡面注冊廣播

IntentFilter filter =new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);

registerReceiver(mReceiver, filter);

4、定義 mReceiver

private BroadcastReceivermReceiver =new BroadcastReceiver() {

@Override

    public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {

List results =wifiManager.getScanResults();

if (results !=null) {

Log.d(TAG,"results size: " + results.size());

}

}

}

};

5、在layout裡面定義一個Button,點擊後開始掃描

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);

boolean scanResult =wifiManager.startScan(); // 最好檢查下返回值,因為這個方法可能會調用失敗

Log.d(TAG,"scanResult: " + scanResult);

6、在 AndroidManifest.xml 裡面聲明許可權

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

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

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

有人可能會有疑問,為什麼在 onCreate裡面動態申請了許可權 ACCESS_FINE_LOCATION,又在 Manifest 裡面重復聲明了一次

經過本地驗證,去掉其中任意一個,都拿不到WiFi掃描結果,也就是 onReceive 方法不會被執行(有不同結論的請留言共同探討)

7、錯誤用法

boolean scanResult =wifiManager.startScan();

List list =wifiManager.getScanResults();

調用 startScan 之後立馬調用 getScanResults,這個時候拿到的WiFi列表是上一次的掃描結果,不是最新的,一定要在廣播接收器裡面獲取掃描結果。

熱點內容
前端android 發布:2025-03-20 06:50:42 瀏覽:93
進制轉換棧c語言 發布:2025-03-20 06:50:31 瀏覽:339
myeclipse不自動編譯了 發布:2025-03-20 06:41:38 瀏覽:777
led汽車大燈和鹵素燈該選哪個配置 發布:2025-03-20 06:40:55 瀏覽:917
sql網校 發布:2025-03-20 06:16:42 瀏覽:279
安卓手機圖標排列為什麼會混亂 發布:2025-03-20 06:16:05 瀏覽:761
手機pin初始密碼是多少 發布:2025-03-20 06:15:59 瀏覽:900
javaif常量變數 發布:2025-03-20 06:15:57 瀏覽:344
iis安裝sql 發布:2025-03-20 06:05:31 瀏覽:149
製作自解壓安裝 發布:2025-03-20 05:41:49 瀏覽:305