0

私はGoogleチャットアプリケーションを使用しています

ネットワークが失敗した場合にチャットするとき、ネットワークが切断されたことをユーザーに通知する必要があり、ネットワークが再び接続された場合は、同じアクティビティでネットワークが接続されたことを通知する必要があります.しかし、うまくいきませんでした

以下は私が書いたコードです:

public class GTChat extends ListActivity


 {


public void onCreate(Bundle savedInstanceState) 

{

super.onCreate(savedInstanceState);

}




private BroadcastReceiver mConnReceiver = new BroadcastReceiver() 
{
   @Override

 public void onReceive(Context context, Intent intent)

 {


 boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);

 NetworkInfo info = (NetworkInfo)intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); 

 if (info.getState().equals(NetworkInfo.State.CONNECTED)) 

    { 

 Toast.makeText(getApplicationContext(), "Network connected",Toast.LENGTH_LONG).show();

   } 

else
{
    Toast.makeText(getApplicationContext(), "Network not connected",Toast.LENGTH_LONG).show(); 

  }

   }

};



protected void onPause()

{


unregisterReceiver(mConnReceiver); 


super.onPause();


}


protected void onResume()

{

registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));


super.onResume();
}
4

1 に答える 1

0

レシーバーを登録/登録解除する前に、super.onResume()/super.onPause() を呼び出します。

  protected void onPause()
    {
        super.onPause();
        unregisterReceiver(mConnReceiver); 
    }


    protected void onResume()
    { 
    super.onResume();
    registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

    }
于 2012-09-14T07:24:25.423 に答える