2011-12-23 9 views
4

マルチキャストの目的で、私はAndroidデバイスのIPが変更されたときを検出する簡単な方法を探しています。どうすればいいのですか?具体的にはデバイスが新しいIPを取得したとき、どうすれば検出できますか?

、私は検出するために、探しています:

  • デバイスは、新しい無線LANネットワークに接続し、それがDHCP何らかの理由でデバイスが更新する必要が
  • からIPを取得するとあなたがConnectivityManagerでこれを行うことができますIP

答えて

5

あなたは現在の接続状態を照会するためにこれを使用することができます。

ConnectivityManager connMananger = (ConnectivityManager) 
      context.getSystemService(Context.CONNECTIVITY_SERVICE); 

NetworkInfo netInfo = connMananger.getActiveNetworkInfo(); 

ネットワークインターフェイスの現在のIPアドレスがNetworkInterface.getNetworkInterfaces()

で取得することができ、あなたはCONNECTIVITY_ACTION broadcast

+0

経由する場合、接続状態の変更の自動通知を受け取ることができますがいいですね。しかし、その放送は、IPが変わったときにのみ起こるのでしょうか、それとも何か違うことが起こるかもしれませんか? – yydl

+1

接続の変更によってトリガされる可能性がありますが、チェックする必要がありますか、またはNetworkInfo/NetworkInterfaceオブジェクトの違いを検出できます –

関連する問題