如何在Android / etc / hosts文件中创建条目以限制特定网站

时间:2011-06-30 11:43:54

标签: java android

  

可能重复:
  How to restrict Android device to not open some specific site e.g.youtube, facebook

我正在开发一个应用程序,其功能是阻止用户在使用应用程序时使用YouTube或Facebook。通过一些发现,我发现我必须编辑 / etc / hosts ....但是如何......那就是我想知道的......

有人告诉我在此文件中输入以限制特定网站,但为此我需要root权限。

2 个答案:

答案 0 :(得分:2)

无法从应用程序代码编辑 / etc / hosts 文件(从市场或未植根的设备安装的代码)。

如果设备已植根,那么您可以su然后向其中写入新数据,但在生产设备上您将无法获得必要的许可。

编辑:可能更有意义的(我不知道这在实践中有多么容易/困难)是使用自定义DNS服务器来解析您要禁止的IP地址。如果您使用adb shell登录,则可以运行 getprop ,其中会列出所有参数。找到DNS参数,然后执行 setprop {dns参数名称} {new dns ip} ,指向您控制的DNS服务器。

答案 1 :(得分:1)

我猜你听说过类似this的内容,它建议通过在hosts文件中将其IP地址设置为127.0.0.1来阻止广告主机。

该页面确实说要重新启动,但不确定这是否适用于更改到文件,或者更确切地说是在创建文件时。我会猜测后者。通常,动态选择对/ etc / hosts的更改。

您是否可以从应用程序代码更新hosts文件,我不知道。