title: Does finish() unregister broadcast receivers?
body: <p>I've set up a BroadcastReceiver as a way for one activity to stop another.  The activity I want to stop looks something like this:</p>
  
  <pre><code>public class TestActivity extends Activity {
      private static final String TAG = "TestActivity";
      private Context mContext = null;
  
      private final BroadcastReceiver mQuitReceiver = new BroadcastReceiver() {
          @Override
          public void onReceive(Context context, Intent intent) {
              String action = intent.getAction();
              if (action.equals("finish_activity")) {
                  mLogUtil.d(TAG, "onReceive() finishing...");
                  finish();
              }
          }
      };
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          mContext = this;
          mLogUtil.d(TAG, "onCreate()");
          LocalBroadcastManager.getInstance(mContext).registerReceiver(mQuitReceiver, new IntentFilter("finish_activity"));
          // Other initialization stuff...
      }
  
      @Override
      protected void onDestroy()
      {
          LocalBroadcastManager.getInstance(mContext).unregisterReceiver(mQuitReceiver);
          // Other de-initialization stuff...
          super.onDestroy();
      }
  }
  </code></pre>
  
  <p>And I finish it from another activity via:</p>
  
  <pre><code>Intent intent = new Intent("finish_activity");
  LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
  </code></pre>
  
  <p>My question is, do I actually need to un-register that receiver manually if the receiver is tied to the activity instance anyway?  Or does the finish() method clean that up for me?</p>