0

インターネット接続をリッスンし、接続時にいくつかのタスクを実行するブロードキャストレシーバーを作成しようとしています。

実デバイスで WIFI を無効または有効にしたり、エミュレータでデータ アクセスを無効または有効にしたりしても、通知が届きません。アクション CONNECTIVITY_CHANGE はサポートされなくなりました。

  public class InternetConnectivityReceiver extends BroadcastReceiver {
Context context;
@Override
public void onReceive(Context context, Intent intent) {
    this.context = context;

    Log.i(TAG, "Internet Conenction State Changed");
}
}

マニフェスト

 <application
    android:icon="@android:drawable/arrow_down_float"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >



      <receiver android:name=".InternetConnectivityReceiver">
            <intent-filter>
                <action android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED">

                </action>
            </intent-filter>
        </receiver>
......
</application>
4

1 に答える 1

0

の開発者ドキュメントは次のようにConnectivityManager述べています。

Background_DATA_SETTING_CHANGED

この定数は非推奨です。ICE_CREAM_SANDWICH の時点で、バックグラウンド データの可用性はいくつかの複合要因に依存し、このブロードキャストは送信されなくなりました。

"android.net.conn.CONNECTIVITY_CHANGE"代わりに聞いてみてください。

于 2012-09-26T15:00:43.170 に答える