【发布时间】:2015-01-08 03:12:20
【问题描述】:
我的代码:
import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.utils import platform
from kivy.uix.widget import Widget
from kivy.clock import Clock
from jnius import autoclass
from android.runnable import run_on_ui_thread
WebView = autoclass('android.webkit.WebView')
WebViewClient = autoclass('android.webkit.WebViewClient')
activity = autoclass('org.renpy.android.PythonActivity').mActivity
WebView = autoclass('android.webkit.WebView')
WebViewClient = autoclass('android.webkit.WebViewClient')
activity = autoclass('org.renpy.android.PythonActivity').mActivity
class Wv(Widget):
def __init__(self, **kwargs):
super(Wv, self).__init__(**kwargs)
Clock.schedule_once(self.create_webview, 0)
@run_on_ui_thread
def create_webview(self, *args):
webview = WebView(activity)
webview.getSettings().setJavaScriptEnabled(True)
wvc = WebViewClient();
webview.setWebViewClient(wvc);
activity.setContentView(webview)
webview.loadUrl('www.google.com')
class ServiceApp(App):
def build(self):
return Wv()
def on_pause(self):
return True
def on_resume(self):
return Wv()
if __name__ == '__main__':
ServiceApp().run()
应用程序运行良好,但我想在 on_pause 事件触发时保存当前 URL,然后 当 on_resume 事件我想返回那个 URL。
我不知道该怎么做。
建议?
【问题讨论】:
-
我想您是在询问如何在 on_pause 事件期间以线程安全的方式访问 Webview,因为它在 ui 线程中运行。在 java 中,WebView.WebViewTransport 类用于通过设置目标处理程序对象将 webview 传递给其他线程。 codota.com/android/scenarios/518913a0da0a50347f673d4f/… 我对适用于 Android 的 Python 了解得不够多,无法说明这种方法是否可行,但向邮件列表询问可能是个好主意....
-
使用 Java 时,有一种方法可以获取您所在的当前 url。你在这里为 WebView 使用什么 python 模块?
-
我现在在我的帖子中包含了导入
标签: android python python-2.7 webview kivy