를 사용하여 자바 스크립트에 파이썬에서 이벤트를 전송 sl4a와 함께 파이썬과 나는 js에서 파이썬 스크립트로 이벤트를 보낼 수 있지만 js는 eventPost를 잡아 내지 못하고있다. 파이썬에서 js에 이르기까지 코드에 넣었다.내가 간단한 질문에 대한 답을 알고 싶어하지만 난 내가 놀고있어 좋은 (내가 시간 동안 구글했습니다 :))</p> <p>을 발견 have'nt SL4A
누구든지이 작업이 어떻게 완료되었는지 또는 registerCallback이없는 다른 방법이 있는지 알고 있습니다.
HTML 코드 :
<html>
<head>
<script>
var droid = new Android();
function doit(){
droid.makeToast("Text send :=>"+document.getElementById("msg").value);
droid.eventPost("doit",document.getElementById("msg").value);
}
function alert_me(data){
droid.makeToast("All done!");
document.getElementById("msg").value = '';
}
droid.registerCallback("done",alert_me);
</script>
</head>
<body>
<input type="text" name="boton" id="msg" value="" />
<input type="button" name="boton" value="Go!" onclick="javascript:doit()" />
</body>
</html>
파이썬 코드 :
import android,time
if __name__ == '__main__' :
droid = android.Android()
droid.webViewShow("file:///sdcard/sl4a/scripts/sample.html")
while True:
event = droid.eventWait().result
if event["name"] == 'doit':
droid.makeToast("Event catched! %s" % event['data'])
droid.eventPost("done","Done message")
time.sleep(2)
droid.exit()
JS alert_me 함수는 수신 한 인수를 사용하지 않습니다. 만약 그렇게했다면, arg는'data'라는 멤버를 가질 것이고, 그래서 당신의 함수에서'data.data'는''Done Message "'로 평가 될 것입니다. –