BroadcastReceiver
イベントをリッスンするを作成しましたCONNECTIVITY_CHANGE
。今のところ、とそのエクストラIntent
を呼び出す のアクションを出力するだけです。BroadcastReceiver
ここマニラのオフィスでテスト用の電話を使用しており、SIM カードはデンマーク製です。がonReceive()
呼び出されると、LogCat に次のように出力されます。
action: android.net.conn.CONNECTIVITY_CHANGE
key: extraInfo, value: data.tre.dk
key: htcCurrentActiveNetwork, value: null
key: networkInfo, value: null
key: reason, value: roamingOn
key: noConnectivity, value: null
key: inetCondition, value: null
reason
ローミングがオフになったときのの値を知る必要があります。roamingOff
推測によるものかもしれませんが、デンマークに行かない限り、確かなことはわかりません。これは、ローミング サービスがオフになったときにタスクを実行する必要があり、LogCat からCONNECTIVITY_CHANGE
、ローミング モードの切り替え以外の理由でイベントが発生していることに気付いたためです。または、ローミングがオフになっていることを検出するより良い方法はありますか?
放送受信機のコード:
public void onReceive(Context context, Intent intent) {
Log.d(This.LOGTAG, "action: " + intent.getAction());
Bundle extras = intent.getExtras();
for (String key : extras.keySet()) {
Log.d(This.LOGTAG, "key: " + key + ", value: " + extras.getString(key));
}
}
マニフェスト エントリ:
<receiver android:name=".listener.RoamingListener">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>