繁体   English   中英

在Kotlin中,如何在新窗口中打开链接

[英]In Kotlin how do I open a link in new Window

我是Kotlin一名tyro,但是我对AndroidCore java有很好的了解。 通过Kotlin协助开发Android应用程序时,我处于一种状况。

当用户单击pdf文档上的链接时,我希望这样做; 链接应在浏览器上打开如果打开浏览器,则链接应在新窗口而不是同一窗口的新选项卡上打开 )。

我已经实现了很多目标,但是如果浏览器已经打开,我没有发现如何在新窗口中打开链接?

我尝试了下面的代码(单击pdf上的链接然后将其重定向到以下函数调用):

fun web_page_open(urls: String) { // for more than one url
    val uris = Uri.parse(urls)
    val intents = Intent(Intent.ACTION_VIEW, uris)
    startActivity(intents)
} 

我尽了最大的努力来解释我的问题,并进行了很多搜索(也在github上进行了搜索),但是我所有的努力都顺其自然。

热烈欢迎任何帮助。

编辑 :让我们考虑一个实例,如果用户已经打开默认浏览器(例如ABZfox),则当单击pdf (或doc)中的链接时,将打开新的ABZfox窗口,而不是用户所在的同一窗口。以前的工作。 我敢肯定,这个问题现在说得通了!!!

您可以尝试这一方法,可能会有所帮助,打开Web浏览器的新标签 ,例如

fun openNewTabWindow(urls: String, context : Context) {
    val uris = Uri.parse(urls)
    val intents = Intent(Intent.ACTION_VIEW, uris)
    val b = Bundle()
    b.putBoolean("new_window", true)
    intents.putExtras(b)
    context.startActivity(intents)
}

您可以改用chrome自定义标签,要使用它,您需要在gradle中添加以下依赖项

 compile 'com.android.support:customtabs:23.1.1' 

现在使用下面的代码打开网址

 CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
        builder.enableUrlBarHiding();
        builder.setShowTitle(true);
        builder.setToolbarColor(Color.TRANSPARENT);
        CustomTabsIntent customTabsIntent = builder.build();
        customTabsIntent.launchUrl(getActivity(), Uri.parse(url));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM