根据 Android SDK 文档ConnectivityManager
,getBackgroundDataSetting()
在 Android 4.x 中已弃用,getActiveNetworkInfo()
应该使用它来查看是否禁用了后台数据:
但是,关闭同步后,当我NetworkInfo
在服务中查询对象时,没有任何迹象表明后台数据被禁用:
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
// getBackgroundDataSetting always returns true on Android 4.x
if (connMgr != null && !connMgr.getBackgroundDataSetting()) {
Log.i(WootsUp.TAG, "background data off");
return;
}
if (connMgr != null) {
NetworkInfo netInfo = connMgr.getActiveNetworkInfo();
if (netInfo == null || netInfo.isAvailable() == false || netInfo.isConnected() == false) {
Log.i(WootsUp.TAG, "no active network");
return;
}
}
当我关闭同步时,既不isAvailable()
也不返回 false。isConnect()
NetworkInfo
我应该查询是否有不同的方法来查看后台数据是否被禁用?仅供参考,我正在使用警报驱动的服务,而不是使用 SyncAdapter API,如果这有影响的话。
谢谢,
抢