如何尊重Android的网络中使用的设置 [英] How to respect network use settings in Android

查看:115
本文介绍了如何尊重Android的网络中使用的设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序执行一些backgound数据收集和我加入,为用户的网络preferences,如执行后台更新和数据漫游的支持。我有以下的检查已经:

My app performs some backgound data collection and I'm adding support for the user network preferences, such as performing background updates and data roaming. I have the following checks already:

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm.getBackgroundDataSetting()) {
...
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable() && networkInfo.isConnected()) {

在清单中要求的条目:

with the required entries in the manifest:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

这一切似乎工作正常,但我想知道如果我应该检查什么吗?我很担心检查数据漫游,但<一个href="http://developer.android.com/reference/android/net/NetworkInfo.html#isAvailable%28%29">docs状态 networkInfo.isAvailable()检查这对我来说。那么,有没有任何其他的检查,我需要实现网络设置?任何其他在这方面我应该知道的?

This all appears to be working fine, but I was wondering if I should be checking anything else? I was worried about checking for data roaming but the docs state that networkInfo.isAvailable() checks this for me. So are there any other checks I need to implement for network settings? Anything else in this area I should be aware of?

推荐答案

用户,而你的后台程序运行可能更改设置。该API建议您收听广播消息:

The user may change the settings while your background app is running. The API recommends that you listen to the broadcast message:

ConnectivityManager.ACTION_BACKGROUND_DATA_SETTING_CHANGED 

也许你正在检查cm.getBackgroundDataSetting()之前发送数据,我怀疑这将是足够的。然而,听着广播消息会让你恢复发送后台数据时设置被更改。

Perhaps you are checking cm.getBackgroundDataSetting() prior to sending data, and I suspect this would be sufficient. However, listening to the broadcast message will let you resume sending background data when the settings are changed.

相信或者收听该广播消息或发送数据就足够了之前检查设置。 <一href="http://developer.android.com/reference/android/net/ConnectivityManager.html#ACTION_BACKGROUND_DATA_SETTING_CHANGED">Android文档建议前者。

I believe that either listening to the broadcast message or checking the settings before sending data will suffice. Android docs recommends the former.

这篇关于如何尊重Android的网络中使用的设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆