ユーザーが 3g ネットワークまたは 2G ネットワークに移動したとき、またはサービスが提供されていないエリアにいるときを検出する必要があります。そのための標準のAndroidブロードキャストインテントはありますか?
現在、サービスで毎分次のコードをポーリングしています。
TelephonyManager tm=(TelephonyManager) getSystemService(TELEPHONY_SERVICE); if(tm.getNetworkType()==TelephonyManager.NETWORK_TYPE_EDGE){ }
しかし、これは適切な方法ではなく、空腹になる可能性があります。リスナーまたはブロードキャストの意図によってのみトリガーされた方がよいでしょう。