title: Why two parameters to ComponentName constructor?
body: <p>From the Pro Android 2 book: "ComponentName wraps a <em>package</em> name and a <em>class</em> name together. For example..."</p>
  
  <pre><code>Intent intent = new Intent();
  Intent.setCompnonet(new ComponentName(
      "com.android.contacts"
      ,"com.android.contacts.DialContactsEntryActivity");
  startActivity(intent)
  </code></pre>
  
  <p>If you look at the example, you'll notice that the package name can be <em>easily</em> derived from the class name. So the obvious question is: why two parameters? Why not provide only the class name?</p>
  
  <p>Is there a scenario where the class passed to the ComponentName constructor <strong>doesn't</strong> belong to the package passed to the same constructor?</p>