如果数据保护程序启用的,如果您的应用程序白名单检查如果数据保护程序已启用,并且您的应用程序未列入白名单,推送通知,当您的应用程序是将只提供通过ConnectivityManager.getRestrictBackgroundStatus()
public boolean checkBackgroundDataRestricted() {
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
switch (connMgr.getRestrictBackgroundStatus()) {
case RESTRICT_BACKGROUND_STATUS_ENABLED:
// Background data usage and push notifications are blocked for this app
return true;
case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
case RESTRICT_BACKGROUND_STATUS_DISABLED:
// Data Saver is disabled or the app is whitelisted
return false;
}
}
可能前景。
如果您应该限制数据使用量,无论您启用还是禁用了Data Saver,或者您的应用程序已被列入白名单,您也可以检查ConnectivityManager.isActiveNetworkMetered()
。
完整示例in the docs您还可以在其中学习如何请求白名单权限并监听对“数据保护程序”首选项的更改。