android 怎么获取便携式热点的状态
WifiManager 各种wifi状态变化的时候都会广播相应的消息,定义一个BroadcastReceiver监听,收到后再onReceive 中读取连接的ap信息, 可以用这个方法WifiInfo getConnectionInfo() 获取
目前判断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(),然后,编译测试。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
代码:
/**
* WIFI热点业务类
* @author wlh
*
*/
public class WifiHostBiz {
private final String TAG = "WifiHostBiz";
private WifiManager wifiManager;
private String WIFI_HOST_SSID = "AndroidAP";
private String WIFI_HOST_PRESHARED_KEY = "12345678";// 密码必须大于8位数
public WifiHostBiz(Context context) {
super();
//获取wifi管理服务
wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}
/**判断热点开启状态*/
public boolean isWifiApEnabled() {
return getWifiApState() == WIFI_AP_STATE.WIFI_AP_STATE_ENABLED;
}
private WIFI_AP_STATE getWifiApState(){
int tmp;
try {
Method method = wifiManager.getClass().getMethod("getWifiApState");
tmp = ((Integer) method.invoke(wifiManager));
// Fix for Android 4
if (tmp > 10) {
tmp = tmp - 10;
}
return WIFI_AP_STATE.class.getEnumConstants()[tmp];
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return WIFI_AP_STATE.WIFI_AP_STATE_FAILED;
}
}
public enum WIFI_AP_STATE {
WIFI_AP_STATE_DISABLING, WIFI_AP_STATE_DISABLED, WIFI_AP_STATE_ENABLING, WIFI_AP_STATE_ENABLED, WIFI_AP_STATE_FAILED
}
/**
* wifi热点开关
* @param enabled true:打开 false:关闭
* @return true:成功 false:失败
*/
public boolean setWifiApEnabled(boolean enabled) {
System.out.println(TAG + ":开启热点");
if (enabled) { // disable WiFi in any case
//wifi和热点不能同时打开,所以打开热点的时候需要关闭wifi
wifiManager.setWifiEnabled(false);
System.out.println(TAG + ":关闭wifi");
}else{
wifiManager.setWifiEnabled(true);
}
try {
//热点的配置类
WifiConfiguration apConfig = new WifiConfiguration();
//配置热点的名称(可以在名字后面加点随机数什么的)
apConfig.SSID = WIFI_HOST_SSID;
//配置热点的密码
apConfig.preSharedKey = WIFI_HOST_PRESHARED_KEY;
//安全:WPA2_PSK
apConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
//通过反射调用设置热点
Method method = wifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
//返回热点打开状态
return (Boolean) method.invoke(wifiManager, apConfig, enabled);
} catch (Exception e) {
return false;
}
}
}
安卓的系统中,
你开始热点,会在任务栏中有个提示的,
你开启时他会有个选项条,
这时单击这个选项条就是关闭热点.
你可以通过这个来判断,
另外有的安卓版本也可以添加 活动图标,通过明暗变化来判断.
望采纳!
籍颖逍遥: 1.首先把手机端的WIFI关了2.点开“绑定与便携式热点”.3.勾选"便携式 WI-FI 热点"4.然后点“便携式 WI-FI 热点设置”进行配置.5.如图可以根据个人喜好设置热点的名称和密码.6.至此手机端wifi热点设置完毕,现在可以打开神行太保进行连接测试了.
石林彝族自治县19537152101: 所有安卓手机都有便捷式热点吗 - ?
籍颖逍遥: 所有安卓手机都有便捷式热点.查找步骤:1. 手机的设置里面找到“网络共享”或“网络连接”或“更多”选项.2. 找到“网络共享与便携式热点”,点击展开.3. WLAN热点就是通常说的“wifi热点”,默认这个功能是关闭状态的,开启该功能.4. “设置wifi热点”这一栏是对WiFi名称、密码、加密模式进行相关设置,该软件可以设置中文名,设置好后就可以搜索便捷热点并且连接了.
石林彝族自治县19537152101: 怎么连接手机WIFI便捷式热点? - ?
籍颖逍遥: 1、进入手机功能设置. 2、进入无线与网络. 3、进入绑定与便携式热点. 4、勾选便携式wifi热点. 5、可以为便携式wifi热点设置密码. 6、手机端已经设置好了,电脑或手机可以直接搜索到信号连接就可以了.
石林彝族自治县19537152101: 安卓手机如何打开wifi便携式热点打开 - ?
籍颖逍遥: 就是把你的手机当成一个无线路由器,别人只要有wif功能的手机,电脑MP4都可以通过无线网络连接到你的手机,使用你的网络来上网.再你的设置里面,进入无线和网络,然后打开便携式热点,然后配置便携式热点的密码(不设置密码会被偷网的)就可以使用了 花费的是你手机的流量.
石林彝族自治县19537152101: 安卓手机怎么建立WIFI热点 - ?
籍颖逍遥: 1、打开手机应用列表.2、进入“设置”--“无线与网络”.3、点击“网络分享和便携式热点”.4、现在有USB网络分享和移动接入点两个选项,我们先讲一下移动接入点,选择“移动接入点”.5、点击“设置Mobile AP”,我们可以在里面设置密码6、可以自行设置网络SSID,密码可以使用设备自带的,如果使用设备自带,你直接点击显示密码,就会看到密码了,点击保存即可共享.
石林彝族自治县19537152101: 如何设置便携式WLAN热点 - ?
籍颖逍遥: 安卓手机自带绑定与便携式热点功能,这样操作:1、 打开“设置”.2、打开“无线和网络”.3、打开“移动网络”.4、勾选“数据连接”,使手机上网.5、返回到“无线与网络”的设置页面6、打开“绑定与便携式热点”7、勾选便携式WLAN热点(也可以选择USB绑定作为有线上网数据卡使用)8、上述步骤已将默认热点名的没加密的WLAN热点设置完成,为安全的个性化使用,你可以打开“便携式WLAN热点设置”9、设置个性化热点名称(建议设置成英文或数字,设成中文的话在接收端会显示成乱码)10、设置安全性为WPA2 PSK.11、设置加密密码12、保存后设置完成,可以用IPAD、笔记本电脑进行连接上网了.
石林彝族自治县19537152101: 安卓手机便携式热点 - ?
籍颖逍遥: 你可以去设置,更多,里找到移动热点的设置.然后,点进以后就可以有开关开启.如果觉得有必要,可以设置wifi名称和密码,这样可以保证自己的网络不容易给别人蹭网.
石林彝族自治县19537152101: android 便携式热点信息 - ?
籍颖逍遥: WifiManager有一个未开放的函数getWifiApConfiguration,没有参数,会返回当前正在工作的本机热点的WifiConfiguration对象,可以用反射调用这个函数,返回的WifiConfiguration里面可以取到SSID,认证方式,密码等.至于mac地址,就是手机无线网卡的mac地址,用WifiManager.getConnectionInfo()得到WifiInfo对象,再用WifiInfo.getMacAddress()就可以得到.
石林彝族自治县19537152101: 有wifi功能动智能手机能做移动wifi热点吗?怎么做? - ?
籍颖逍遥: 可以,如果是安卓手机,在设置→无线和网络→绑定与便携式网络→便携式WLAN热点.进去后创建热点名字,密码等,这是安卓系统2.3的 我的是HTC系统4.0.3,具体操作是,设置→…更多→便携热点和数据共享→便携式WLAN热点.点击之后进入创建
石林彝族自治县19537152101: 安卓手机如何变成无线热点? - ?
籍颖逍遥: 你好,可以按照以下步骤进行开启:1. 打开“设置“2. 点击“移动网络共享”3. 选择“便携式移动热点”4. 设置热点名和密码5. 点击“保存”