1

アプリケーションでブロードキャストレシーバーを拡張するクラスを作成しました。このクラスは、ネットワーク接続ステータスを確認するためのものです。私が望むのは、アプリケーションが他のタスクを実行しています。このためのリスナーはありますか

また、どこで登録を解除する必要がありますか。

私を助けてください.これは私のコードです

public class NetworkBroadcastListner extends BroadcastReceiver {
Context getContext;
public NetworkBroadcastListner(Context context) {
    // TODO Auto-generated constructor stub
    getContext = context;
    IntentFilter filter1 = new IntentFilter(
            ConnectivityManager.CONNECTIVITY_ACTION);
    context.registerReceiver(NetworkBroadcastListner.this, filter1);

}

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    ConnectivityManager connMgr = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = connMgr.getActiveNetworkInfo();
    try {
        if (activeNetwork != null && activeNetwork.isConnected()) {

        } else {
            Toast.makeText(getContext, "Network Connections Unavailable",
                    Toast.LENGTH_LONG).show();

        }
    } catch (Exception e) {
        Toast.makeText(getContext, "Network Connections Unavailable",
                Toast.LENGTH_LONG).show();

    }

}

}

4

1 に答える 1

1

この呼び出しを介してネットワーク接続の変更をリッスンし、他のアクティビティにメッセージを送信できます。他のアクティビティは、ハンドラーを介してこれらのメッセージをリッスンできます。

アプリケーションの終了時に登録を解除できます。

ここでメッセージとハンドラーの概念を読む

于 2013-08-02T04:38:39.023 に答える