Android|WebView 禁止长按,限制非白名单域名的跳转层级

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

用户反馈称在隐私协议界面上可以跳转到百度搜索页面,希望所有操作保持在APP内。解决思路是禁用WebView的长按选择文字功能,允许白名单域名页面任意加载,非白名单域名页面通过白名单域名页面跳转,不再响应超链接。经测试达到了想要的效果。

🎯

关键要点

  • 用户反馈在隐私协议界面可以跳转到百度搜索页面,希望所有操作保持在APP内。

  • 现状分析显示WebView的长按选择文字功能禁用对功能无影响,隐私协议中的链接需限制跳转。

  • 解决思路是禁用WebView的长按选择文字功能,允许白名单域名页面任意加载,非白名单域名页面通过白名单域名页面跳转。

  • 代码实现中设置了白名单域名,屏蔽长按弹出的菜单,并限制非白名单域名的链接跳转。

  • 经过测试,解决方案达到了预期效果。

延伸问答

如何解决WebView中长按选择文字的问题?

通过禁用WebView的长按选择文字功能,避免用户跳转到外部网站。

为什么要限制非白名单域名的跳转?

为了确保所有操作保持在APP内,避免用户通过隐私协议跳转到外部网站。

白名单域名的作用是什么?

白名单域名允许页面任意加载,确保用户在APP内的操作不被外部链接干扰。

如何实现对非白名单域名的限制?

通过代码设置白名单,并在WebViewClient中拦截非白名单域名的链接请求。

用户对隐私协议界面的反馈是什么?

用户希望所有操作保持在APP内,避免跳转到百度搜索等外部网站。

测试结果如何?

经过测试,禁用长按选择文字功能和限制跳转的方案达到了预期效果。

➡️

继续阅读