1

我正在开发一个 android 应用程序,它有很多带有链接的 textviews 和 webviews。我需要在 webview 中打开这些链接(而不是在外部 web 浏览器中)。我怎样才能做到这一点?

我发现了几个类似的线程:

  1. WebView 链接点击打开默认浏览器
  2. 在我的 android 应用程序中处理 textview 链接单击

第一个说我可以将 WebViewClient 用于 WebViews。第二个是关于意图过滤器和自定义方案。但问题是我想找到适用于 webview 和 textviews 的通用解决方案(我也不能使用自定义方案而不是“http”)。

我尝试执行以下操作:

WebViewActivity 已创建,将用于代替 Web 浏览器。在我设置的 Android 清单文件中:

<activity android:name=".WebViewActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
</intent-filter>
</activity>

结果,当用户尝试打开链接时,应用程序会显示一个对话框,建议选择需要的应用程序来观看链接(它建议使用 Web 浏览器和我的 WebViewActivity)。如何在没有此对话框的情况下打开 WebViewActivity 中的链接?

提前致谢。

4

1 回答 1

1

如果您单击 WebView 中的链接,则默认情况下新页面仍将位于当前 webview 中。

对于 TextView 中的处理链接点击,您已经在我的 android 应用程序中找到了这篇文章处理 textview 链接点击,我认为您可以通过使用可点击跨度来遵循 Jonathan S. 解决方案。

如果您为您的活动注册 http 架构,则总会有此对话框,除非没有其他应用程序注册它。

于 2013-01-11T15:45:05.217 回答