Переход на главный экран программно
Я хочу перейти на домашний экран программно в Android, когда пользователь нажимает на кнопку. Как это можно сделать?
5 ответов:
вы можете сделать это через намерение.
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain);
это намерение запустит приложение запуска, которое определил пользователь. Будьте осторожны с этим, потому что это будет выглядеть ваше приложение разбился, если пользователь не ожидает этого.
Если вы хотите, чтобы это построить кнопку выхода из вашего приложения, пожалуйста, прочитайте эту статью на кнопки выхода для Android
одна линия решение
moveTaskToBack(true); //activity.moveTaskToBack(true);
он будет вести себя как дома нажимается кнопка
Януша!--5--> это здорово.
единственное, что я хочу добавить, что немного слишком долго для комментария, это то, что вы можете перейти на главный экран, не имея ссылки на текущую деятельность.
код Януша должен быть вызван из действия или фрагмента из-за
startActivity()
,чтобы обойти это, вы можете сохранить статическую ссылку на контекст вашего приложения в файле приложения:
public class YourApplication extends Application { private static Context mAppContext; public void onCreate() { super.onCreate(); ... YourApplication.mAppContext = getApplicationContext(); } public static Context getContext() { return mAppContext; } }
Теперь вы можете отправить пользователю на главный экран устройства из любого класса в вашем приложении, а не только действия, фрагменты или другие классы со ссылкой на текущую деятельность (вы можете решить, хорошо это или плохо):
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); YourApplication.getContext().startActivity(startMain);
С Android разработчик сайт
вот некоторые примеры других операций, которые вы можете указать в качестве намерений, используя эти дополнительные параметры:
* ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.
Я знаю, что это немного поздно, но я также столкнулся с той же проблемой, и вот как я ее решил. Возвращаясь к своему
MainActivity
вам нужно добавить флаги выходаActivity
final Intent mainActivity = new Intent(this, MainActivity.class); mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
теперь, когда вы нажали кнопку назад, будучи
MainActivity
активный, он перейдет на главный экран.