Android:在新窗口中打开 URL,无需离开应用程序

标签 android url textview

当用户单击 TextView 时,我是否可以在新窗口中打开网页而无需离开应用程序,就像在 iPhone 中,当您单击 URL 时,它会显示一个新的浏览器窗口,但是有一个“后退”按钮,您可以单击以返回到上一屏幕吗?

谢谢!

最佳答案

您可以在布局中使用 WebView 创建自己的浏览器 Activity 。但本质上,除了显示网页之外,它不会具有实际库存浏览器应用程序的任何功能。如果您需要前进/后退按钮以及其他任何需要的内容,则必须添加它们。如果你不需要任何这些东西,那么你应该只使用一个普通的 WebView 就可以了。当您按下设备上的后退按钮时,它应该会关闭该 Activity 并带您返回到您开始的 Activity 。

编辑:

要在用户单击链接时从 WebView 获取回调,您可以使用 WebViewClient shouldOverrideUrlLoading() 方法,如下所示:

wv.setWebViewClient(new WebViewClient() {
            /* On Android 1.1 shouldOverrideUrlLoading() will be called every time the user clicks a link,
             * but on Android 1.5 it will be called for every page load, even if it was caused by calling loadUrl()! */
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                Log.i(myTag, url);


                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)) ;
                startActivity(i);
                return true;


            }
        });

对于 TextView 来说,需要做更多的工作,您必须制作自己的 Linkyfy 类副本,并使用 TransformFilter 使链接按照您希望的方式运行。查看此问题的示例 Android Linkify both web and @mentions all in the same TextView

关于Android:在新窗口中打开 URL,无需离开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5979361/

相关文章:

Android Studio,Junit4加入classpath后仍无法解析Junit

java - 设置文本时 TextView 崩溃

android - 处理 android 应用程序中的 textview 和 webview 链接

java - 如何获取listactivity中被点击的布局项?

Android:工具栏上的向上按钮的右边距

java - LayoutResultCallback() 在 LayoutResultCallback 中不公开;生成pdf时无法从外部包错误访问

android - 如何在基于Android的设备中访问实时通话中传输的音频

perl - 如何在 Perl 中使用正则表达式提取 URL 的一部分?

java - (C2) 从哪里来

php - 如何用PHP动态创建文件夹