在 android 应用中处理 textview 和 webview 链接
Posted
技术标签:
【中文标题】在 android 应用中处理 textview 和 webview 链接【英文标题】:Handle textview and webview links in android app 【发布时间】:2012-12-26 05:22:24 【问题描述】:我正在开发一个 android 应用程序,它有很多带有链接的 textviews 和 webviews。我需要在 webview 中打开这些链接(而不是在外部 web 浏览器中)。我该怎么做?
我发现了几个类似的主题:
-
WebView link click open default browser
handle textview link click in my android app
第一个说我可以将 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 中打开链接?
提前致谢。
【问题讨论】:
【参考方案1】:如果您在 WebView 中点击链接,新页面默认仍会在当前的 webview 中。
对于处理 TextView 中的链接点击,您已经找到了这篇文章 handle textview link click in my android app,我认为您可以通过使用可点击跨度来遵循 Jonathan S. 解决方案。
如果你为你的activity注册了http schema,总会有这个对话框,除非没有其他应用注册它。
【讨论】:
以上是关于在 android 应用中处理 textview 和 webview 链接的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Android 处理程序更新 UI 线程中的 TextView?