0

我创建了一个测试 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 热点,没有任何问题。所有研究都指向我已经用于禁用热点的上述代码。

有没有人以前见过这些问题?考虑到问题发生所需的时间,很难测试这些问题。

任何帮助将不胜感激。

4

1 回答 1

0

1) 你可能想改变你的 e.printStackTrace(); 进入实际的日志记录,我使用相同的代码,无论我等待多长时间,它都能正常工作。

2)注意到了同样的情况,不确定它是否也相关,但是如果有“恒定”流量,它永远不会下降。有时我必须禁用热点并快速重新启用它才能解决此问题,但有时我的数据计划也下降了......也许运营商不希望我们热点他们的数据计划?

于 2013-03-30T04:01:00.937 回答