【问题标题】:Connect to an AP using Python and SL4A on Android在 Android 上使用 Python 和 SL4A 连接到 AP
【发布时间】:2016-12-24 12:17:01
【问题描述】:

我需要使用 Python 脚本和 SL4A 连接到 Android 上的 WiFi 接入点。我查看了 SL4A 的文档http://www.mithril.com.au/android/doc/WifiFacade.html 但没有用于连接和验证给定 AP 的功能。有没有办法解决这个问题?

提前致谢!

PS:我实际上正在寻找一种可以访问所有 Android API 的合适的脚本语言,简单的语法将是一个加号。这个想法是,用户可以编写简单的脚本来执行诸如对 WiFi 接入点进行身份验证、启动应用程序或导航到浏览器中的 URL 等任务。但似乎 SL4A 是 Android 上唯一可用的脚本平台。

【问题讨论】:

    标签: android sl4a


    【解决方案1】:

    新版SL4A 6.2.0(alpha状态)可以连接AP 使用新 API:wifiConnect。

    method = "no-security"
    if method == "no-security":
        cfg = dict(
            SSID="invalidwifi",
            # below parameters are not used in example of my expalation site.
            # BSSID=,
            # hiddenSSID=False,
            # priority=,
            # apBand=,
        )
    elif method == "WEP":
        cfg = dict(
            SSID="invalidwifi",
            wepKeys=["key0"],
            wepTxKeyIndex=0,
        )
    else:   # elif method == "WPA2":
        cfg = dict(
            SSID="sample",
            password="abc",
            # preSharedKey="128bitkey.........",
            # or you can use: password="presharedkey",
            # be careful SL4A can't allow 64byte key.
        )
    droid.wifiConnect(cfg)
    

    我测试了这段代码和新的 API。 请尝试一下。

    【讨论】:

    • 密钥名称password(或preSharedKey)是否记录在任何地方?在documentation 中,该类型仅记录为JSONObject。 (在Android API (java/Kotlin) 中,字段名称为preSharedKey。)
    • 我忘记了这是 4 年前写的...在 SL4A 存储库中搜索 preSharedKey,查看此代码:github.com/kuri65536/sl4a/commit/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多