提问人:Anna R. 提问时间:10/19/2023 更新时间:10/19/2023 访问量:36
如何在 Android 上使用 ChromeSafariBrowser 从 InAppWebView 插件为 Flutter 打开或下载 pdf 文件?
How to open or download pdf file with ChromeSafariBrowser from InAppWebView plugin for Flutter on Android?
问:
对于我的 Flutter 应用程序,我需要能够在不离开应用程序的情况下在 Android 上打开/下载 pdf 文件。 简而言之,现在它看起来像这样:
...
InAppWebView(
...
shouldOverrideUrlLoading: (controller, nav) async {
final Uri? url = nav.request.url;
WebViewUtils.launchInBrowserOverlay(result?.value);
},
... );
...
static launchInBrowserOverlay(value) async {
Uri uri = Uri.parse(value);
ChromeSafariBrowser().open(
url: uri,
options: ChromeSafariBrowserClassOptions(
android: AndroidChromeCustomTabsOptions(
packageName: 'com.android.chrome',
),
),
);
}
总而言之,它的工作原理(pdf文件将被下载)有一些限制。
问题是当文件已经下载时,浏览器只显示“下载待定...”。这不是理想的行为。最好的解决方案是在不离开应用程序的情况下显示 pdf 文件。另一种选择是即使文件已经下载,也可以开始下载(我可以用 from 来做,但然后我会离开应用程序)。launchUrl()
url_launcher
答: 暂无答案
评论