如何检查安卓手机的后台数据是否已启用?

6

我希望检查用户是否在设备上启用了后台数据,并在其未启用时显示一条消息。

如何检查它是否已启用? 我尝试过

import android.provider.Settings;

//...
Settings.System.getString(getContentResolver(), Settings.Secure.BACKGROUND_DATA);
//and
Settings.Secure.getString(getContentResolver(), Settings.Secure.BACKGROUND_DATA);

但它们返回空值。 谢谢, Achie。
1个回答

10
您想要使用 连接管理器 来获取这些信息。
ConnectivityManager mgr = (ConnectivityManager)Context.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean bgData = mgr.<a rel="noreferrer" href="http://developer.android.com/intl/de/reference/android/net/ConnectivityManager.html#getBackgroundDataSetting%28%29">getBackgroundDataSetting()</a>;

6
警告一句,这个方法在ICS上不起作用。在ICS中,这个方法总是返回true。要正确使用ICS,请参见http://developer.android.com/reference/android/net/ConnectivityManager.html#getBackgroundDataSetting()。 - Gaurav
最好将其包装在 ConnectivityManagerCompat.getRestrictBackgroundStatus(mgr) 中。 - Dmitry K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接