我似乎没有找到任何相关的答案,SL4A版本是R6,Py4A是R5。它非常简单,应用程序使用HTML页面调用webViewShow,它正确显示,脚本终止,但页面不想消失。无法到达菜单,后退按钮不起作用,只有主页按钮,那么如果脚本通过adb运行,则需要从应用管理器中删除sl4a,或者如果从设备上解释器运行则需要终止脚本。我也试过http://www.google.com,同样的事情发生了。 webViewShow返回NoneType,但仍显示页面。
示例:
import android
droid = android.Android()
droid.webViewShow('/sdcard/sl4a/scripts/main_view.html'
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" id="viewport"
content="width=device-width, target-densitydpi=device-dpi,
initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
/>
</head>
<body >
<h1 style="text-align:center">Supervisor</h1>
</body>
</html>
提前致谢!
答案 0 :(得分:0)
也许这可能会有所帮助:
<script>
var droid = new Android();
</script>
<input type="button" value="Exit" onclick="droid.dismiss();" />
答案 1 :(得分:0)
我也遇到了这个问题,但找不到合适的答案。在我的情况下,我怀疑剧本不能完全终止&#39;直到WebView关闭... catch-22。为了解决这个问题,我添加了一个明确的退出&#39;在生成WebView之前选择手机的菜单按钮:
# give us a way to escape from the webview
droid.addOptionsMenuItem('Quit','menu-quit',None,"ic_lock_power_off")
不理想(用户仍然需要寻找Quit选项或提前了解它),但似乎可以解决脚本和WebView,至少在我的手机上(SL4A r6,Android 2.3.7)
答案 2 :(得分:0)
我同意佩德罗。这是从sl4a退出webview的唯一方法,由damon kolher确认,该项目是该项目的最后一位维护者,最终分叉之前。
一旦你部署了一个webview,除了使用js之外,没有办法杀死它。
<script> var droid = new Android(); </script>
然后将其附加到元素。
onclick="droid.eventPost('kill', ''); droid.dismiss();
对我来说,我通过eventWait使用eventPost回调到我的主脚本。
while True:
event = droid.eventWait().result
if event['name'] == 'kill':
pipe.send('kill')
pipe.close()
我觉得这个工作非常好,因为我使用瓶子来提供我的webview作为两个单独的进程,并且需要一种方法在webview退出后立即关闭我的脚本。