我的应用程序有一个要求,其中我的应用程序应该始终连接到互联网(仅限 2G/3G)。要实现这一点,可以创建一个服务来不断检查设备是否连接到互联网。如果没有,那么我们可以以编程方式连接到互联网(这是因为我的应用程序将在用户交互非常少的环境中运行,所以大多数事情应该自动发生)。“服务”方法很好,但由于不断轮询而消耗大量电池,我想避免这种情况。
我最近读到了一个名为 - 的广播CONNECTIVITY_ACTION
,它是系统生成的。根据文档,设备连接的更改可能非常频繁——每次您在移动数据和 Wi-Fi 之间移动时都会触发此广播。.
在我的要求中,设备只能连接到 2G/3G,而永远不会连接到 wifi。那么系统是否有广播,我可以使用它来了解连接(开/关)到 2G/3G 的变化?因为根据上面的引用,我推断只有当状态从移动数据(2g/3g)变为 wifi 时才会触发 CONNECTIVITY_ACTION。是这样吗?(如果我错了,请纠正我)。
另外,请告诉我我应该使用最有效的方法来检查我的设备是否经常连接到互联网(2g / 3g)(基于服务的方法除外),以便我可以采取行动连接到自动上网?提前致谢 !