проверка некоторых основных html-скриптов с помощью sl4a и моего приложения python, похоже, не может вызвать HTML ... пытается отправить данные из небольшой формы в HTML-код на сторону pythonвызов HTML с помощью webViewShow в sl4a
вот HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML form</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div id="body">
<h1>My Settings</h1>
<script type="text/javascript">
var droid = new Android();
function post_data(){
var values = [
['airplane', document.getElementById('airplane_mode').value],
['wifi', document.getElementById('wifi_on').value],
['brightness', document.getElementById('brightness').value],
['volume', document.getElementById('volume').value],
];
var q = '?';
for (i=0;i<values.length;i++){
var k = values[i][0];
var v = values[i][1];
if (q != '?'){
q = q + '&';
}
q = q + k + '=' + v;
}
droid.postEvent('save', q);
}
</script>
<form onsubmit="post_data();">
<div class="container">
<div>
<label for="airplane_mode">Airplane Mode</label>
<input id="airplane_mode" name="radio" type="radio" />
</div>
<div>
<label for="wifi_on">WiFi On</label>
<input id="wifi_on" name="radio" type="radio" />
</div>
<div>
<label for="off">Both off</label>
<input id="off" name="radio" type="radio" />
</div>
</div>
<div class="container">
<div>
<label for="brightness">Brightness Level</label>
<input size="5" id="brightness" type="text" />
</div>
<div>
<label for="volume">Media Volume</label>
<input size="5" id="volume" type="text" />
</div>
</div>
<div class="container buttons">
<div>
<input size="5" id="save" name="save" type="submit" value="Save Settings" />
<input size="5" id="cancel" name="cancel" type="button" value="Cancel" />
</div>
</div>
</form>
</div>
</body>
</html>
вот конец питон, который использует значения, переданные из JS в HTML, чтобы изменить некоторые параметры телефона
import android
import urlparse
droid = android.Android()
droid.webViewShow('file:///tablet/sl4a/scripts/html/options.html')
while True:
result = droid.eventWaitFor('save').result
data = urlparse.parse_qs(result['data'][1:])
droid.toggleAirplaneMode('airplane' in data)
print 'airplane' in data
droid.toggleWifiState('wifi' in data)
print 'wifi' in data
droid.setScreenBrightness('screen' in data and 255 or 0)
вещь, когда я выполняю код python, он вообще не вызывает webViewShow и просто закрывает, заявляя, что ответ не обрабатывается , потому что это значение равно none, а не кортеж, так где именно я ошибся?
обновление: Пробовал разные форматы для URL-адреса, поэтому никто не работал. сам веб-просмотр не называется
обновление 2: нормально ... webview открывается, но все, что я получаю, - это пустая страница, которая заставляет меня выполнять жесткое убийство с помощью диспетчера задач, поскольку sl4a зависает там, как будто это пытаясь отобразить html
обновление 3: если webViewShow ссылается на несуществующий адрес и проблема с экраном продолжает происходить. есть идеи?
Py4A - последняя версия SL4A - это R6. работает на android 4.1.2
Как насчет того, чтобы приложить какое-то усилие к этому ответу, например, описание? –