android-是否可以从我的应用启动网络浏览器,并返回单击的URL?

android-是否可以从我的应用启动网络浏览器,并返回单击的URL?,第1张

概述我想知道是否可以从我的应用程序启动Web浏览器,并且当用户单击遵循特定模式的URL时,它将返回该URL.例:http://domain.top-level-domain/download-folder/file-to-download.its-extension我不想这样做,因为我正在开发一个具有集成下载系统的应用程序,并且我希望用户能够以一种简

我想知道是否可以从我的应用程序启动Web浏览器,并且当用户单击遵循特定模式的URL时,它将返回该URL.

例:

http://domain.top-level-domain/download-folder/file-to-download.its-extension

我不想这样做,因为我正在开发一个具有集成下载系统的应用程序,并且我希望用户能够以一种简单的方式(只需单击URL)选择要下载的文件.过程是这样的:

>您登录到网站上的个人页面.
>您浏览个人文件.
>您选择要下载的文件.
>单击文件的URL时,该应用程序将自动为您下载并存储它.

第4步是我当前正在执行的步骤,无法真正解决.
使用外部浏览器,该过程将如下所示:

>您登录到网站上的个人页面.
>您浏览个人文件.
>您选择要下载的文件.
>您复制URL.
>您将其粘贴到应用程序中.

该过程可能看起来并不复杂,但是我还是想这样做.

编辑:我发现该页面上的下载链接是一行JavaScript,它将文件发送给用户.是否有可能在页面上执行该行代码并检索文件?

@H_502_31@解决方法:

您可以使用自定义WebViewClient拦截WebVIEw中的任何URI:

webVIEw.setWebVIEwClIEnt(new WebVIEwClIEnt() {    @OverrIDe    public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {        if (url.contains("your_pattern")) {            // Your stuff...            return true;        }        return false;    }});

从官方文档中:

public boolean shouldOverrIDeUrlLoading (WebVIEw vIEw, String url)

Give the host application a chance to take over the control when a new
url is about to be loaded in the current WebVIEw. If WebVIEwClIEnt is
not provIDed, by default WebVIEw will ask Activity Manager to choose
the proper handler for the url. If WebVIEwClIEnt is provIDed, return
true means the host application handles the url, while return false
means the current WebVIEw handles the url. This method is not called
for requests using the POST “method”.

您也可以考虑使用方法shouldInterceptRequest().

总结

以上是内存溢出为你收集整理的android-是否可以从我的应用启动网络浏览器,并返回单击的URL?全部内容,希望文章能够帮你解决android-是否可以从我的应用启动网络浏览器,并返回单击的URL?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1079361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存