我创建了一个测试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热点。所有研究都向我指出了我已经用于禁用热点的上述代码。
你们之前有没有人见过这些问题?考虑到问题发生所需的时间,很难测试问题。
非常感谢任何帮助。
答案 0 :(得分:0)
1)您可能想要更改e.printStackTrace();进入实际的日志记录,我使用相同的代码,无论我等多久都能正常工作。
2)注意到相同,不确定它与哪个相关,但是如果有“常量”流量,它永远不会下降。有时我必须禁用热点并快速重新启用以解决此问题,但有时候我的数据计划也会下降......也许运营商不希望我们热点他们的数据计划?