2016-11-29 13 views
7

휴대 전화에 간단한 문제가 있습니다. Wi-Fi 핫스팟에서 연결이 끊어지면 내 인터넷에 항상 인터넷이 없다고 생각하기 때문에 자동으로 다시 연결되지 않습니다. 내 방화벽 때문입니다. 안드로이드 폰이 인터넷 연결이 있는지 확인하기 위해 서버에 핑을 시도하는 것 같습니다.QPython을 사용하여 액세스 포인트에 연결 하시겠습니까?

그래서 현재 내가하려고하는 것은 내가 과거에 연결되어있는 것을 발견 할 때까지 Wi-Fi 네트워크를 지속적으로 검사하는 간단한 스크립트를 작성하는 것입니다.
아마도 이것은 매우 간단한 스크립트 일 것이지만 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

어쩌면 당신은'wifiReconnect'를 찾고 있습니까? 이, 그리고 다른 와이파이 관련 기능은 [당신이 언급 한 문서] (http://kylelk.github.io/html-examples/androidhelper.html) –

+0

...의 하단에 설명되어 있습니다. 휴대 전화가 Wi-Fi 핫스팟에 자동으로 연결되지 않습니다. 다시 연결하면 자동으로 과거에 연결되어있는 Wi-Fi 네트워크에 연결될 수 있을지 의심 스럽습니다. – Forivin

답변

0

오늘까지는 SL4A에서 연결할 네트워크를 지정하는 방법이 없습니다 (androidhelper에 의해 사용됨). 또한

SL4A's Github Page에서 인용합니다 :

SL4A is no longer under active development. However, some forks of this project may be.


을 대체, 당신이 plyer을 사용할 수 있습니다 (I는 QPython이 생각을 제공하는 경우 확실하지 않다). WiFi를 제어하기 위해 플라이어 (plyer)를 사용하는 것은 정말 좋은 모양입니다. example. 나는 당신이 당신의 요구에 맞출 수 있다고 확신합니다.

QPython이 plyer를 지원하지 않는다면 (필자도 그러길 바란다.) kivy의 사람들이 만든 python-for-android을 보면서 plyer를 유지하는 것이 좋습니다. 거기에 내장 된 적절한 애플 리케이션이있다 [1].

이것은 링크 전용 답변 및 kivy에 대한 보증처럼 느껴집니다 ... 허.

+0

QPython이 Kivy의 라이브러리를 사용할 수 있다는 것을 읽었습니다. 나는 어떤 예를 찾을 수 없었다. 이것이 어떻게 이루어질 수 있었는지 아는 어떤 생각? – Forivin

+0

QPython에서'import plyer'를 시도하십시오. 그것이 작동한다면, 링크 된 예제는 훌륭한 출발점이 될 것입니다. – pradyunsg

+0

어떻게 플라이어를 얻을 수 있습니까? 나는'pip install plyer'를 시도했는데 (적어도 작동하지 않는 것 같습니다), 스크립트에서 plyer import wifi를 사용했습니다. 결과 :'ImportError : wifi를 가져올 수 없습니다 .' – Forivin