python - 如何在 kivy android webview 中打开文件选择器?
问题描述
我使用 kivy for android 创建了一个 webview 应用程序。使用以下。
from kivy.app import App
from jnius import autoclass
from kivy.clock import Clock
from android.runnable import run_on_ui_thread
from kivy.uix.widget import Widget
WebView = autoclass('android.webkit.WebView')
WebViewClient = autoclass('android.webkit.WebViewClient')
activity = autoclass('org.kivy.android.PythonActivity').mActivity
@run_on_ui_thread
def create_webview(*args):
webview = WebView(activity)
webview.getSettings().setJavaScriptEnabled(True)
wvc = WebViewClient();
webview.setWebViewClient(wvc);
activity.setContentView(webview)
webview.loadUrl('https://google.com')
class Wv(Widget):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.__functionstable__ = {}
Clock.schedule_once(create_webview, 0)
class ServiceApp(App):
def build(self):
return Wv()
使用 buildozer 我制作了 apk。但问题是,当我访问某个网站并尝试使用 [选择文件] 按钮上传图像时,文件选择器窗口无法打开。我在点击之前和点击之后查看了 logcat,但仍然没有找到任何关于此的日志。
我该如何解决这个问题?如何从 sdcard 中选择图像并将其上传到 webview kivy (android) 中打开的网站?
谢谢
解决方案
推荐阅读
- ajax - 在完全下载 ReactJS Web 应用程序之前显示加载进度条?
- ruby - “which ruby”指向一个不存在的目录,我如何让它指向与“whereis ruby”相同的目录?
- python - 如何获取行不同的不同列
- javascript - 遍历复杂的嵌套json数组javascript
- logic - 如何在 Coq 中声明某种归纳类型的常量?
- python - 在python中重叠findall
- node.js - aws-sdk NodeJS 从环境变量中读取凭证
- pandas - 减去同一行和列中但在不同数据框文件中的值
- python - 用 Python 编写期货(asyncio)
- asp.net-core - 如何注入对特定 IHostedService 实现的引用?