使用QPython连接到接入点?

时间:2016-11-29 11:19:54

标签: android python android-wifi sl4a qpython

我的手机有一个简单的问题:当我从wifi热点断开连接时,我的手机不会自动重新连接,因为它总是认为没有互联网。这是因为我的防火墙。我猜测Android手机试图ping服务器以检查是否存在Internet连接。

所以我现在要做的就是编写一个简单的脚本,不断扫描Wifi网络,直到找到我过去连接过的网络。 它可能是一个非常简单的脚本,但是I just can't find a method to actually connect to an access point

import threading
import androidhelper
droid = androidhelper.Android()
knownAPs = ["home-wifi","workAP"]

def autoConnect():
    threading.Timer(5.0, autoConnect).start()
    droid.wifiStartScan()
    nearbyAPs = droid.wifiGetScanResults().result
    for i, curAP in enumerate(nearbyAPs):
        if curAP['ssid'] in knownAPs:
            # ?connect to a wifi?
autoConnect()

我在文档中遗漏了什么?知道我怎么能做到这一点吗?

编辑:
据称可以在QPython中使用Kivy库。我无法找到一个如何实现它的例子。但也许这个问题可以解决吗?

1 个答案:

答案 0 :(得分:0)

截至今天,无法在SL4A中指定要连接的网络(由androidhelper使用)。

此外,引用SL4A's Github Page

  

SL4A不再处于积极发展阶段。但是,这个项目的一些分叉可能是。

作为替代,您可以使用plyer(我不确定QPython是否提供此功能)。使用plyer来控制WiFi有一个非常漂亮的example。我很确定你可以根据自己的需要调整它。

如果QPython不支持plyer(我希望它支持),我建议您查看由python-for-android的人员建立的kivy,他们也会保持plyer。使用[1]构建了适当的应用程序。

这感觉就像一个只有链接的答案和对kivy的认可......嗯。