導航:首頁 > 操作系統 > android熱點開發

android熱點開發

發布時間:2022-06-15 21:56:53

android開發中如何建立一個wifi熱點

wifi熱點的建立不是java能做的,這里要使用C語言來調用底層的東西才能實現熱點功能,wifiManager這個類只是wifi的管理類,這個是不能實現熱點的,它只是可以獲取你目前連接的路由器的mac地址,名稱等信息。

② 如何修改 終端設備android wifi熱點開發 隨身wifi

wifi熱點的建立不是Java能做的,這里要使用C語言來調用底層的東西才能實現熱點功能,wifiManager這個類只是wifi的管理類,這個是不能實現熱點的,它只是可以獲取你目前連接的路由器的mac地址,名稱等信息。

③ android開發,怎麼自動鏈接熱點

參考如下內容,可以實現沒有密碼的wifi自動連接:

實現自動連接到指定的WiFi熱點,我們需要熟悉Android里的wifimanager類,下面是結合網路資料和本人實踐給出的方法,供參考:

1. 自定義一個wifiAdmin操作類:

[java] view plain
import java.util.List;

import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;

public class WifiAdmin {

// 定義WifiManager對象
private WifiManager mWifiManager;
// 定義WifiInfo對象
private WifiInfo mWifiInfo;
// 掃描出的網路連接列表
private List<ScanResult> mWifiList;
// 網路連接列表
private List<WifiConfiguration> mWifiConfiguration;
// 定義一個WifiLock
WifiLock mWifiLock;

// 構造器
public WifiAdmin(Context context) {
// 取得WifiManager對象
mWifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
// 取得WifiInfo對象
mWifiInfo = mWifiManager.getConnectionInfo();
}

// 打開WIFI
public void openWifi() {
if (!mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(true);
}
}

// 關閉WIFI
public void closeWifi() {
if (mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(false);
}
}

// 檢查當前WIFI狀態
public int checkState() {
return mWifiManager.getWifiState();
}

// 鎖定WifiLock
public void acquireWifiLock() {
mWifiLock.acquire();
}

// 解鎖WifiLock
public void releaseWifiLock() {
// 判斷時候鎖定
if (mWifiLock.isHeld()) {
mWifiLock.acquire();
}
}

// 創建一個WifiLock
public void creatWifiLock() {
mWifiLock = mWifiManager.createWifiLock("Test");
}

// 得到配置好的網路
public List<WifiConfiguration> getConfiguration() {
return mWifiConfiguration;
}

// 指定配置好的網路進行連接
public void connectConfiguration(int index) {
// 索引大於配置好的網路索引返回
if (index > mWifiConfiguration.size()) {
return;
}
// 連接配置好的指定ID的網路
mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,
true);
}

public void startScan() {
mWifiManager.startScan();
// 得到掃描結果
mWifiList = mWifiManager.getScanResults();
// 得到配置好的網路連接
mWifiConfiguration = mWifiManager.getConfiguredNetworks();
}

// 得到網路列表
public List<ScanResult> getWifiList() {
return mWifiList;
}

// 查看掃描結果
public StringBuilder lookUpScan() {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < mWifiList.size(); i++) {
stringBuilder
.append("Index_" + new Integer(i + 1).toString() + ":");
// 將ScanResult信息轉換成一個字元串包
// 其中把包括:BSSID、SSID、capabilities、frequency、level
stringBuilder.append((mWifiList.get(i)).toString());
stringBuilder.append("/n");
}
return stringBuilder;
}

// 得到MAC地址
public String getMacAddress() {
return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();
}

// 得到接入點的BSSID
public String getBSSID() {
return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();
}

// 得到IP地址
public int getIPAddress() {
return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();
}

// 得到連接的ID
public int getNetworkId() {
return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();
}

// 得到WifiInfo的所有信息包
public String getWifiInfo() {
return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();
}

// 添加一個網路並連接
public boolean addNetwork(WifiConfiguration wcg) {
int wcgID = mWifiManager.addNetwork(wcg);
boolean b = mWifiManager.enableNetwork(wcgID, true);
System.out.println("a--" + wcgID);
System.out.println("b--" + b);
return b;
}

// 斷開指定ID的網路
public void disconnectWifi(int netId) {
mWifiManager.disableNetwork(netId);
mWifiManager.disconnect();
}

//然後是一個實際應用方法,只驗證過沒有密碼的情況:

public WifiConfiguration CreateWifiInfo(String SSID, String Password, int Type)
{
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + SSID + "\"";

WifiConfiguration tempConfig = this.IsExsits(SSID);
if(tempConfig != null) {
mWifiManager.removeNetwork(tempConfig.networkId);
}

if(Type == 1) //WIFICIPHER_NOPASS
{
config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
}
if(Type == 2) //WIFICIPHER_WEP
{
config.hiddenSSID = true;
config.wepKeys[0]= "\""+Password+"\"";
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
}
if(Type == 3) //WIFICIPHER_WPA
{
config.preSharedKey = "\""+Password+"\"";
config.hiddenSSID = true;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
//config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
}
return config;
}

private WifiConfiguration IsExsits(String SSID)
{
List<WifiConfiguration> existingConfigs = mWifiManager.getConfiguredNetworks();
for (WifiConfiguration existingConfig : existingConfigs)
{
if (existingConfig.SSID.equals("\""+SSID+"\""))
{
return existingConfig;
}
}
return null;
}

}
//分為三種情況:1沒有密碼2用wep加密3用wpa加密

2.調用時是這樣的:

[java] view plain
WifiAdmin wifiAdmin = new WifiAdmin(wifiTest.this); //wifiTest.this is a context for sample;
wifiAdmin.openWifi();
WifiConfiguration wcg=wifiAdmin.CreateWifiInfo(wifiName, wifiPass,3); //wifiName is the SSID; wifiPass is the password;
wifiAdmin.addNetwork(wcg);

3.稍等片刻,便會連接上wifi了

④ 圍繞Android系統平台,google打造了哪些技術生態鏈,未來的技術熱點會是什麼

每個Android大版本的更新迭代前行,歷經10餘年,在用戶體驗、流暢性、續航、安全、隱私、機器學習等方面都取得較大的改進。
小米、華為、OPPO、VIVO、三星等各大廠商對Android原生系統進行二次開發衍生出具有各家特色的系統(比如MIUI),為手機、電視、平板電腦、手錶等數十億設備提供平台支持,使得Android作為全球最受歡迎的移動操作系統。Android誕生至今已有10餘年。

⑤ android開發創建一個熱點並讓一些手機連接在熱點上,怎樣讓做熱點的手機斷開其中的一些手機

不可以,人家自己關掉或離開信號覆蓋區域才可以的

⑥ android開發中如果我想代碼實現打開wifi熱點如何實現

1·申請許可權:
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.WAKE_LOCK
2·獲取WifiManager
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
3·開啟、關閉wifi
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
} else {
wifiManager.setWifiEnabled(true);
}
4·注意
如果遇到force-close, 選wait即可, 因為啟動wifi需要幾秒鍾, UI如果5妙鍾還沒反映的話, 系統會給你這個force close exception

PS:我以前做過設計讀取系統硬體信息的時候用過,但是很長時間沒用了,這段注釋是從網上來的,希望能幫到你。

⑦ android系統上如何建立WIFI熱點

參照如下路徑:

  1. 開啟流量,即移動網路。

  2. 設置--更多無線連接--網路共享--攜帶型wlan熱點--選擇啟用,設置wlan熱點,設置帳號密碼。


    3.在另一個手機,打開wlan,搜索設置好的帳號,輸入密碼即可登陸。

閱讀全文

與android熱點開發相關的資料

熱點內容
androidapp風格 瀏覽:206
php取伺服器url地址 瀏覽:291
linux時間調度演算法 瀏覽:767
單片機最小電路詳解 瀏覽:181
請求要求命令 瀏覽:802
電腦文件夾發微信顯示被佔用 瀏覽:289
手機怎麼看加密視頻 瀏覽:202
怎樣解壓手機es文件包 瀏覽:661
2017年學什麼編程 瀏覽:934
金融期貨pdf 瀏覽:692
程序員客棧的信息保密嗎 瀏覽:507
編程顯示器什麼意思 瀏覽:146
網路編程的就業 瀏覽:260
s7200編程入門 瀏覽:748
華潤萬家app為什麼進不去 瀏覽:250
後台運行app命令 瀏覽:874
通達信雲加密能破解 瀏覽:141
郵件保存成pdf 瀏覽:867
bbs網站java源碼下載百度雲 瀏覽:460
php無限極分類樹 瀏覽:275