Функции onPause() и onResume() при проектировании главного экрана

Я создаю домашний экран, на котором я показываю список приложений в виде сетки. На 1-м экране моего дома есть некоторая анимация, и когда вы нажимаете на кнопку, отображается сетка. Итак, проблема в том, что; 1)). Я открыл приложение из gridview, оно открывается нормально, но когда я выхожу из этого приложения, кнопка BACK выводит меня на экран GridView.(Это нормально). Теперь, когда я нажимаю кнопку HOME, она выполняет ту же работу, что и кнопка BACKBUTTON.

Я слушаю эти бутоны, используя dispatchKeyEvent(KeyEvent event) но это не работает с кнопкой домой.. Логически, я не должен работать, потому что это dispatchKeyEvent(KeyEvent event) работает для моего приложения, а не для любого другого приложения..

Я нашел несколько других путей решения этой проблемы,

Когда я открываю другие приложения, функции onPause() и onStop() вызываются на моем домашнем экране, предположим, что я установил там флаг, но, сделав это Как я смогу узнать, что после выполнения своих действий в другом приложении пользователь нажимает HOME BUTTON или ЗАДНЯЯ КНОПКА.

2 ответа

dispatchKeyEvent(KeyEvent event) не сможет поймать нажатие кнопки Home. если вы хотите захватить использование кнопки Home onUserLeaveHint(), И чтобы захватить кнопку назад специально использовать onBackPressed(),

Вы должны заявить, что ваша домашняя деятельность выглядит так, как показано ниже

 <activity
            android:name="com.android.launcher2.Launcher"
            android:launchMode="singleTask"
            android:clearTaskOnLaunch="true"
            android:stateNotNeeded="true"
            android:theme="@style/Theme"
            android:windowSoftInputMode="stateUnspecified|adjustPan"
            android:configChanges="locale">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.MONKEY"/>
            </intent-filter>
        </activity>

и объявить сеточную активность как нормальную деятельность в манифесте

Я надеюсь, что вы получили решение.

Другие вопросы по тегам