У меня есть следующий код:
PackageManager mPackageManager = getPackageManager();
ComponentName component = new ComponentName("com.myPackage", "com.myPackage.GhostLauncher");
mPackageManager.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
mPackageManager.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
overridePendingTransition(R.anim.slide_out_left, R.anim.slide_in_left);
По сути, каждый раз, когда запускается этот код, появляется диалоговое окно, предлагающее пользователю выбрать домашний экран по умолчанию, что и требовалось. Как только пользователь выбирает этот домашний экран по умолчанию, он запускается. Мой вопрос не слишком сложен, я просто не уверен, как это сделать: когда я нажимаю кнопку, соответствующую приведенному выше коду, диалоговое окно, предлагающее пользователю выбрать домашний экран по умолчанию, появляется справа . Однако, как только пользователь делает выбор, сам главный экран появляется с анимацией по умолчанию. Как я могу переопределить эту вторую анимацию, чтобы она также была слайдом справа?
startActivity()
для фактического домашнего экрана, а тот, кто выбирает. В идеале средство выбора должно копировать настройки, но это зависит от реализации средства выбора. - person CommonsWare   schedule 02.07.2013