Очистка и настройка домашнего приложения по умолчанию

Как в мире Nova справляется с этим? Я буквально пытаюсь сделать то же самое: предоставить пользователям кнопку, которую нужно нажать, чтобы очистить и выбрать их новую панель запуска по умолчанию.

Я могу получить имя приложения по умолчанию и отобразить его:

       private String getPrefered(Intent i) {
       PackageManager pm = this.getActivity().getPackageManager();
       final ResolveInfo mInfo = pm.resolveActivity(i, 0);
       return (String) pm.getApplicationLabel(mInfo.activityInfo.applicationInfo);
   }

гдеIntent i является

Intent home = new Intent("android.intent.action.MAIN");
        home.addCategory("android.intent.category.HOME");

Затем я вызываю систему ResolveActivity,

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);
   }

Средство выбора работает и работает правильно, но фактически не устанавливает и не сбрасывает значения. При отладке кажется, что мне не хватает некоторых дополнений? Когда я звонюmakePrefered метод, я получаю следующее сообщение журнала,

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

Когда я использую реализацию Nova, я вижу все это, однако,

    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
Как я могу попасть туда и посмотреть, что отправляется вместе с этим пакетом?Как я могу просто очистить предпочтительное приложение? Не говори мне, что ты не можешь, я видел достаточно этих ответов. Нова делает это и делает именно так, как мне бы хотелось.

Ответы на вопрос(3)

Ваш ответ на вопрос