在Android中,是否可以阻止应用访问Internet?许多应用通常会在后台连接到远程服务器,包括Google自己的应用或系统服务。随着时间的流逝,这可能会消耗移动运营商设置的用户数据限制。Android是否允许应用程序充当防火墙,以便用户可以选择哪些应用程序可以访问Internet?还是必须扎根设备才能具备该功能?
在Android中,是否可以阻止应用访问Internet?许多应用通常会在后台连接到远程服务器,包括Google自己的应用或系统服务。随着时间的流逝,这可能会消耗移动运营商设置的用户数据限制。Android是否允许应用程序充当防火墙,以便用户可以选择哪些应用程序可以访问Internet?还是必须扎根设备才能具备该功能?
Answers:
如果您在设备上没有root用户访问权限,则可以使用mobiwol来控制各种应用程序对Internet的访问。Mobiwol在设备上创建了一个“虚拟” VPN连接,该VPN连接允许控制各个应用程序连接。但是,尽管应用程序是在设备启动时启动的,但是在Mobiwol执行之前可能有一段短暂的时间,尽管Mobiwol配置了,但该应用仍可以访问Internet。
如果您具有root用户访问权限,则还有更多选择:
如果不生根设备,您将没有太多选择:您可以按照LinX64的建议在应用程序在前台运行时禁用网络,也可以在后台运行(未积极使用)时将其“休眠”(挂起),如Dalvik所建议。当然,您可以将两者结合使用-这应该有效地阻止该应用访问网络。但是仍然需要在您要使用该应用程序后立即断开整个网络连接的成本。
使用root-access,情况看起来就不同了:有些可用的应用程序可以处理其他应用程序的权限,允许您在安装该应用程序后撤消其中一些应用程序的权限。这样,您可以例如仅从该应用程序撤消访问移动数据和/或WiFi的权限:您的网络连接完全不会受到影响(因此,在WhatsApp / Viber / Skype / SE-App中对邮件和更新进行后台检查会继续工作)-而正在询问的应用程序将被告知“当前没有可用的网络”(仅对该应用程序造成“网络故障” )。
更新:
同时,还有可用的Internet防火墙,它们也可以在非根目录设备上使用。Simeon 已经提到了Mobiwol,但是更好的选择是NetGuard,它可以从F-Droid以及Playstore获得。F-Droid的可用性已经表明它是开源的(在安全领域几乎是必须的),并且它是免费提供的。这是最新的版本2.44(于2016-08-06添加)。Playstore的更高版本具有非自由依赖关系,因此该应用程序不再在F-Droid的“官方”存储库中进行更新,并且可能不会进行更新。不过,您仍然可以通过我的F-Droid兼容存储库获取最新版本。
NetGuard(来源:Google Play;点击图片可查看较大版本)
如您在第一个屏幕截图中所见,if提供了非常精细的控制:
它是本节迄今为止评分最高的应用程序-尽管我自己还没有尝试过,但我想说这是一个建议您的设备不植根的应用程序。更新:请注意,Netguard的最新版本包括Google Ads以及Firebase Analytics – IMHO在防火墙(或任何其他安全)应用程序中没有业务的两件事–这很可能是它不再在F-Droid上更新的原因官方仓库(仍在我的仓库中,并带有适当的警告)。
具备root用户访问权限后,最有可能的候选人是AFWall +:
AFWall +(来源:Google Play;点击图片可查看大图)
与NetGuard一样,此应用程序是开源的(可在F-Droid和Google Play上获得),并允许分别通过WiFi和移动数据控制互联网访问。但是,尽管它在某些方面更强大,但它似乎缺少NetGuard的 “屏幕显示”和漫游控制功能(或者我没有看到)。
应用程序Droidwall将执行此操作,但它需要一个已扎根的android设备。不过,它运作得非常好,让您可以选择允许蜂窝或wifi上网访问每个应用程序(或同时访问这两个应用程序或不访问两者),以及在保留设置的同时完全禁用规则,以便在访问时轻松地使所有内容完全正常访问,然后轻松地返回规则,而无需单击很多选项。
Afwall +是另一个非常相似的应用程序,具有一些引人注目的附加功能。它还允许您基于每个应用选择访问wifi,3G / 4G和其他漫游功能,这对于那些需要支付漫游数据费用的人来说非常有用。
它还允许设置配置文件,因此您可以轻松更改配置,而无需花费时间设置所有应用程序权限,例如,针对家庭或工作使用的不同配置。
像所有其他全面的解决方案一样,它也需要root访问。
以下是一些声称是防火墙的应用程序,其中大多数使用IP表或VPN来限制对应用程序的Internet访问:
注意:在编写此答案时,这些应用程序并未包含在答案中。Play商店或网络上可以有更多其他内容。
您可以尝试Greenify应用程序。
它可以节省您的电池以及数据。您可以挂起该应用程序,并且该应用程序仅在打开时才运行。
是的,使用APK APP:
阻止指定应用程序的网络:
1.打开“网络阻止程序”
2.点击您要阻止其访问互联网的应用程序
3.检查您要阻止的网络类型
4.当被阻止的应用程序在前台运行时,“网络阻止程序”应用程序将自动禁用Internet连接
5.新的通知图标将告诉您哪些网络被阻止
6.点击通知图标以恢复互联网连接,再次点击以禁用互联网
或者,检查以下链接:
我很惊讶没有人提到Google解决方案Datally。无需root。有关Google博客的更多信息,请访问:https : //blog.google/technology/next-billion-users/meet-datally-new-way-understand-control-and-save-mobile-data/
或立即从Play商店下载:https: //play.google.com/store/apps/details?id = com.google.android.apps.freighter
那么我个人有一个服务运行在那里我能得到像当前运行的应用程序在这里
另外,您可以做的是,如果活动是您要阻止的活动,则可以关闭移动数据包数据
在这个例子中就像这里
https://stackoverflow.com/questions/3644144/how-to-disable-mobile-data-on-android
除了这种方法外,我认为没有一种简单的方法可以拒绝应用程序的Internet,因为它在下载时就要求它。
您还可以使用LostNet防火墙控制哪些应用可以访问Internet:https://play.google.com/store/apps/details? id = com.lostnet.fw.free
尽管您的要求非常简单并且许多应用程序都可以满足您的需求,但是使用LostNet防火墙,您可以对应用程序连接的国家/地区进行一些研究,并且可能会完全阻止对某些国家/地区的访问。