有谁知道“限制后台数据”设置在 Android 堆栈中的什么位置以及如何执行? (即后台应用程序在后台运行时不允许使用手机数据网络 - WIFI 不受影响。)
非常感谢,
狗
最佳答案
Android 使用 iptables 规则,就像在任何 linux 机器上一样,以限制某些用户的数据访问(每个用户在 android 上下载的应用程序都在其自己唯一的用户 ID 下运行)。
如果您希望移除对您的应用程序的限制,您可以从根 shell 中移除规则。
iptables -F penalty_box -j REJECT
或在较新的设备上,如下所示:
iptables -F bw_penalty_box -j REJECT
但是在重新启动时,Android 会自动重新执行 iptables 的规则。为防止这种情况,您需要删除 <uid-policy ...>
来自“/data/system/netpolicy.xml”。可以通过在 <policy-list ...>
上将“restrictBackgroundData”属性设置为“false”来删除全局限制后台数据设置。节点。
随着 netpolicy.xml 的更改,您必须重新启动才能使更改生效。
注意:任何这些操作都可能需要以 root 身份运行。
关于android - "Restrict Background Data"是如何在 Android 堆栈中强制执行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25874746/