导航:首页 > 操作系统 > 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热点开发相关的资料

热点内容
中企动力服务器与阿里云服务器 浏览:242
java调用另一个类中的方法 浏览:846
三菱空调压缩机型号 浏览:772
南诏pdf 浏览:747
windows如何代码bat启动服务器 浏览:456
软件太卡与服务器有什么关系 浏览:402
给心理治疗师pdf 浏览:222
robinhood加密交易条件 浏览:315
卫生间解压方法 浏览:454
u盘如何做加密文件放照片 浏览:331
文件夹自己加了exe 浏览:262
小猪cms直播系统源码 浏览:878
山东广电云服务器 浏览:354
javadate与mysqldate 浏览:244
javalong比较 浏览:12
加密大师看不见加密文件 浏览:307
想做一个业余程序员 浏览:793
python选出行 浏览:249
cat命令windows 浏览:910
python算术游戏 浏览:532