我创建了一个测试 wifi 热点应用程序。该应用程序本质上启用和禁用 android 平台的 wifi 热点功能(从 2.3 到 4.1 测试)。
我注意到该应用程序存在两个问题,希望能得到一些帮助。
1)如果热点已启用超过 30 分钟(平均时间),我无法停止 wifi 热点。如果很长时间没有启动热点,我可以很好地停止热点。我使用以下代码停止:
// Disable wifi hotspot
private static void stopAccessPoint() {
try
{
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for (Method method : wmMethods) {
if (method.getName().equals("setWifiApEnabled")) {
try {
method.invoke(wifi, null, false);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
catch(Exception e)
{
Log.d(TAG, errorStoppingHotspotMessage);
}
2)wifi热点长时间使用后失去与互联网的连接。我注意到在其他无线网络周围使用时它会更频繁地发生,所以我认为这可能是由于干扰造成的。
我可以在任何给定时间正常启动 wifi 热点,没有任何问题。所有研究都指向我已经用于禁用热点的上述代码。
有没有人以前见过这些问题?考虑到问题发生所需的时间,很难测试这些问题。
任何帮助将不胜感激。