Android:仅阻止单个活动访问互联网

Posted

技术标签:

【中文标题】Android:仅阻止单个活动访问互联网【英文标题】:Android: preventing only a single activity from accessing internet 【发布时间】:2016-05-29 15:33:04 【问题描述】:

android 应用声明它们需要哪些权限才能工作,以便通知用户。

假设我的 Android 应用声明了互联网权限,但它只是在单个 Activity 中使用互联网访问,并希望阻止另一个 Activity 改为访问互联网。

假设不打算访问互联网的活动有一个 WebView,它对用户提供的一些 html 文件执行一些 javascript 处理:必须防止任何黑客攻击,因此不能授予此活动互联网访问权限,或者WebView 本身。

有可能吗?

【问题讨论】:

【参考方案1】:

您可以拦截 WebView 上的请求并根据您的用例允许/禁止。

看这个方法:

shouldInterceptRequest

将资源请求通知主机应用程序并允许 应用程序返回数据。如果返回值为 null,则 WebView 会像往常一样继续加载资源。否则,该 返回响应和数据将被使用。注意:此方法在 UI线程以外的线程,因此客户应谨慎行事 访问私人数据或查看系统时。

【讨论】:

那么,它必须返回一个“空”的非空 WebResourceResponse 对象吗?我说的对吗?【参考方案2】:

android 框架级别不是像这样强制执行更细粒度的安全性的地方。也许您应该首先考虑防止将不应连接到外部资源的内容加载到您的 web 视图中。

【讨论】:

以上是关于Android:仅阻止单个活动访问互联网的主要内容,如果未能解决你的问题,请参考以下文章

无法在android studio中的android模拟器中访问互联网

Android究竟是如何判断是不是在线的?

android中检查互联网是不是持续活动的最佳方法是啥(当互联网不活动时)? [复制]

使用kotlin从android中的BroadcastReceiver类访问edittext

检查活动的互联网连接 Android

有 EXE 上网吗? (阻止它?)