问题描述
我转向便携式wifi热点由以下code:
I'm turning portable wifi hotspot ON by following code:
private void createWifiAccessPoint() {
WifiManager wifiManager = (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);
if(wifiManager.isWifiEnabled())
{
wifiManager.setWifiEnabled(false);
}
Method[] wmMethods = wifiManager.getClass().getDeclaredMethods(); //Get all declared methods in WifiManager class
boolean methodFound=false;
for(Method method: wmMethods){
if(method.getName().equals("setWifiApEnabled")){
methodFound=true;
WifiConfiguration netConfig = new WifiConfiguration();
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
try {
boolean apstatus=(Boolean) method.invoke(wifiManager, netConfig,true);
//statusView.setText("Creating a Wi-Fi Network \""+netConfig.SSID+"\"");
for (Method isWifiApEnabledmethod: wmMethods)
{
if(isWifiApEnabledmethod.getName().equals("isWifiApEnabled")){
while(!(Boolean)isWifiApEnabledmethod.invoke(wifiManager)){
};
for(Method method1: wmMethods){
if(method1.getName().equals("getWifiApState")){
int apstate;
apstate=(Integer)method1.invoke(wifiManager);
// netConfig=(WifiConfiguration)method1.invoke(wifi);
//statusView.append("\nSSID:"+netConfig.SSID+"\nPassword:"+netConfig.preSharedKey+"\n");
}
}
}
}
if(apstatus)
{
System.out.println("SUCCESSdddd");
//statusView.append("\nAccess Point Created!");
//finish();
//Intent searchSensorsIntent = new Intent(this,SearchSensors.class);
//startActivity(searchSensorsIntent);
}else
{
System.out.println("FAILED");
//statusView.append("\nAccess Point Creation failed!");
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
if(!methodFound){
//statusView.setText("Your phone's API does not contain setWifiApEnabled method to configure an access point");
}
}
它为我.......热点打开......但也有通过点击菜单按钮高级设置....这里是一个问题... DHCP被禁用在LanSettings和电源模式仅5工作分钟....我想DHCP TTO启用和电源模式 - 永远在线......我怎样才能解决这个问题。
It works for me....... Hotspot turns on...... But there are also advanced settings by clicking 'menu' button.... And here is a problem... DHCP becomes disabled in LanSettings and Power Mode is only 5 minutes working on.... I want DHCP tto be ENABLED and PowerMode - "always on"...How can I resolve it?
推荐答案
您可能要看看通过Android源$ C $ C找到这个问题的答案。有了您的code是一个设备能够连接并获取IP地址?如果是这样的话,那么DHCP用于AP工作
You might have to look through the Android source code to find the answer to this. With your code is a device able to connect and get an IP address? If that is the case then DHCP for the AP is working.
我个人甚至没有启用DHCP或禁用选项或ICS一个电源模式。
Personally I don't even have a DHCP enabled or disabled option or a PowerMode on ICS.
这篇关于如何设置的Android wifihotspot的高级设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!