title: Clearing and setting the default home application
body: <p>How in the world does Nova manage this? I'm literally trying to do exactly the same thing: provide users with a button to press to clear and pick their new default launcher. </p>
  
  <p>I'm able to get the default app name and display it: </p>
  
  <pre><code>       private String getPrefered(Intent i) {
         PackageManager pm = this.getActivity().getPackageManager();
         final ResolveInfo mInfo = pm.resolveActivity(i, 0);
         return (String) pm.getApplicationLabel(mInfo.activityInfo.applicationInfo);
     }
  </code></pre>
  
  <p>where <code>Intent i</code> is</p>
  
  <pre><code>Intent home = new Intent("android.intent.action.MAIN");
          home.addCategory("android.intent.category.HOME");
  </code></pre>
  
  <p>Then I call up the system ResolveActivity,</p>
  
  <pre><code>private void makePrefered() {
         Intent selector = new Intent("android.intent.action.MAIN");
         selector.addCategory("android.intent.category.HOME");                          
         selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
         startActivity(selector);
     }
  </code></pre>
  
  <p>The picker comes up and functions correctly, but it doesn't actually set or clear any values. While debugging it, it seems as if I'm missing some extras? When I call the <code>makePrefered</code> method, I get the following log message,</p>
  
  <pre><code>I/ActivityManager(  602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=android/com.android.internal.app.ResolverActivity u=0} from pid 22641
  </code></pre>
  
  <p>When I use the Nova implementation I see all of this however, </p>
  
  <pre><code>    I/PackageManager(  602): Result set changed, dropping preferred activity for Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 (has extras) } type null
  I/ActivityManager(  602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=android/com.android.internal.app.ResolverActivity (has extras) u=0} from pid 22905
  I/ActivityManager(  602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.mycolorscreen.canvas/.Launcher (has extras) u=0} from pid 22905
  </code></pre>
  
  <ol>
  <li>How can I get in there and see what's being sent along with that bundle?</li>
  <li>How can I just clear the preferred app? Don't tell me you can't, I've seen enough of those answers. Nova does it and does it exactly the way that I would like to.</li>
  </ol>