我正在设计一个主屏幕,其中我在gridview中显示applist。 在我的HOMESCREEN的第一个屏幕中有一些动画,当你按下按钮时,会显示一个网格。 所以,问题在于; 1))。我从gridview打开了一个应用程序,它正常打开但是当我退出该特定应用程序时,BACKButton将我带到了GridView的屏幕。(这是OKAY)。 现在,当我按下HOME按钮时,它正在做与BACKBUTTON相同的工作。
我正在使用dispatchKeyEvent(KeyEvent event)
听这些按钮,但它不能用于主页按钮..
从逻辑上讲,我不应该工作,因为dispatchKeyEvent(KeyEvent event)
适用于我的应用程序而不适用于任何其他应用程序..
我找到了一些其他途径来解决这个问题,
当我打开其他应用程序时,在我的主屏幕中调用onPause()和onStop()函数,假设我在那里设置了一个标志,但是通过这样做我怎样才能知道在OTher应用程序用户中做了他的东西之后按HOME BUTTON或BACK BUTTON。
答案 0 :(得分:0)
您应该声明您的家庭活动看起来像下面的代码
<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>
并将gridactivity声明为Manifest中的正常活动
我希望你能得到解决方案。
答案 1 :(得分:0)
dispatchKeyEvent(KeyEvent event)
将无法捕获主页按钮。如果要捕获主页按钮,请单击使用onUserLeaveHint()
。
并且捕获后退按钮专门使用onBackPressed()
。