问题标签 [android-datasaver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4229 浏览

android - 调试时禁用 chrome 数据保护程序

我正在尝试在我的电脑上使用 chrome 开发工具检查 chrome for Android 上的网站。

首先,我检查了 Android 上的 chrome 禁用了数据保护程序,它是

截屏

然后,我将手机与电脑连接,运行 chrome 开发工具,我收到警告

考虑在调试时禁用 Chrome 数据保护程序。

如果 Android 版 chrome 上的数据保护程序被禁用,为什么我会收到此消息?

问题是调试是不可能的,因为我得到一个空白屏幕

截图调试器

我怎样才能解决这个问题?

0 投票
1 回答
2406 浏览

android - 有没有办法知道是否启用了数据保护程序?

Android 7.0 Nougat 添加了 Data Saver 功能,允许用户限制某些应用程序的后台数据(包括推送通知)。当流量节省程序开启时,只有列表中的应用程序在

设置 → 数据保护程序 → 不受限制的数据访问

允许接收推送通知并执行后台网络调用。如果数据保护程序关闭并且您的应用程序不在不受限制的列表中,这很像禁用推送通知。

我的应用程序中有一个用例,它正在等待推送通知的到来。

我想知道是否有办法查明数据保护程序是否已启用,以及我的应用程序是否在“不受限制的数据访问”列表中,以了解是否为我的应用程序启用了推送通知,因此是否有必要等待推送并有机会在应用程序在特定时间处于后台时执行任何网络调用。

0 投票
0 回答
47 浏览

python - 如果启用了 chrome 数据保护程序,则不显示 Django 消息

谷歌数据保护程序压缩数据以减少流量使用。它在移动 (android) chrome 中默认启用,并且可能在桌面 chrome 中用作插件。

GDS 在 django 上时不会显示消息。

我创建了一个示例应用程序(Python 3.5、Django 1.10.8、uwsgi+nginx)来捕获这个错误。这个应用程序在主页上有一个“提交”按钮,用于触发查看方法:

完整的应用程序源在这里

fqtest.ru 提供已部署的应用程序

重现步骤:

  1. 部署到某个服务器(或使用我的 fqtest.ru)。不要忘记在 settigs.py 中指定允许的主机。
  2. 如果您有 chrome 数据保护程序插件,请关闭它或使用启动 ingognito 模式。
  3. 打开主页并单击 Go bitton。结果:消息按预期显示
  4. 打开数据保护插件或安装它(或从 android chrome 打开站点)
  5. 打开主页并单击 Go bitton。结果:应该显示的消息未显示。

问题:

  1. 这种行为的原因是什么?
  2. 如何修复/解决它?

希望得到帮助。谢谢!

0 投票
0 回答
50 浏览

android - IsConnected 是否包含流量节省程序状态?

NetworkInfo.isConnected()用来确定我的应用程序是否可以发出网络请求:

在Android N中添加Data Saver之后,这种方法是否仍然可靠。换句话说,如果我的应用程序在计量网络的后台被限制isConnected()仍然会返回 true?

0 投票
2 回答
270 浏览

java - 如何知道Android手机上是否启用了数据保护程序

我知道有一些与此类似的问题, ConnectionManager.getRestrictBackgroundStatus()会告诉我是否为我的应用禁用了后台数据。

对于我的用例,我想具体了解是否为所有应用启用了数据保护程序

设置->dataSaver->restrictBackgroundData

或特定应用后台数据被禁用

app_Name->Info->Network->disable_backgroundData

ConnectionManager.getRestrictBackgroundStatus()在这两种情况下都会给我相同的答案,我怎么知道启用了哪个特定设置?