2014-02-22 86 views
1

在SL4A下使用PY4A,在通過wifiStartScan()啓動wifi掃描後,我怎麼能知道掃描完成後,我可以通過wifiGetScanResults()獲取最新的信息?Android:PY4A(SL4A):如何知道wifiStartScan()後wifi掃描完成的時間?

掃描完成後似乎沒有觸發任何事件,但也許我錯過了一些東西。

下面的代碼摘錄說明了我遇到的問題。

順便說一句,我知道如何在Android下的Java中做到這一點。但是,我想用PY4A專門解決這個問題。

在此先感謝您的幫助。

import android 
a = android.Android() 
scanStarted = a.wifiStartScan() 
if scanStarted: 
    ### 
    ### How do I wait for the wifi scan to complete? 
    ### 
    scanResults = a.wifiGetScanResults() 
    # process wifi scan results here 

回答

2

在S4上使用以下相當不錯的成功。每次我需要一個新的結果時,我都會調用Def。

def getwifi(): 
    try:  
    droid.wifiStartScan() 
    time.sleep(3) 
    ap = droid.wifiGetScanResults() 
    aps = ap.result 
    return str(aps) 
    except: 
    print "Wifi Scan Failed" 
+0

謝謝你,大部分時間都可以工作,但只是睡幾秒就是一種競爭條件。我希望通過某種方式積極地檢測掃描是否完成......通過某種事件說出來。但鑑於沒有人提供過這樣的解決方案,我猜測這是不可能的。 – HippoMan