私のアプリケーションには、アプリが常にインターネットに接続されている必要があるという要件があります (2G/3G のみ)。これを実現するには、デバイスがインターネットに接続されているかどうかを確認し続けるサービスを作成できます。そうでない場合は、プログラムでインターネットに接続できます(これは、私のアプリがユーザーの操作が非常に少ない環境で動作するため、ほとんどのことが自動的に行われるはずです)。「サービス」アプローチは問題ありませんが、絶え間ないポーリングのためにかなりのバッテリーを消費します。これは避けたいと思います。
CONNECTIVITY_ACTION
最近、システムが生成する- というブロードキャストについて読みました。ドキュメントによると、デバイスの接続の変更は非常に頻繁に発生する可能性があります。このブロードキャストは、モバイル データと Wi-Fi の間を移動するたびにトリガーされます。.
私の要件では、デバイスは 2G/3G にのみ接続され、wifi には接続されません。2G/3G のみへの接続 (オン/オフ) の変更を知ることができるシステムからのブロードキャストはありますか? 上記の引用によると、状態がモバイルデータ (2g/3g) から wifi に変化した場合にのみ CONNECTIVITY_ACTION が起動されると推測されます。そうですか(間違っていたら訂正してください)。
また、デバイスが常にインターネット (2g/3g) に接続されていることを (サービスベースのアプローチ以外で) 確認するために使用する最も効率的なアプローチを教えてください。自動的にインターネット?前もって感謝します !