我创建了一个测试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热点,没有任何问题。所有的研究都指向了上面的代码,我已经在使用它来禁用热点了。
你们中有谁以前见过这些问题吗?考虑到问题发生所需的时间,测试问题真的很难。
任何帮助都将不胜感激。
发布于 2013-03-30 12:01:01
1)您可能想要将e.printStackTrace();更改为实际的日志记录,我使用相同的代码,并且无论我等多久,它都工作得很好。
2)注意到了同样的情况,也不确定它与哪一个相关,但是如果有“恒定”的流量,它永远不会下降。有时我不得不禁用热点,然后快速重新启用它来修复这个问题,但有时我的数据计划也会丢失……也许运营商不想让我们关注他们的数据计划?
https://stackoverflow.com/questions/15607128
复制相似问题