0

我正在设计一个主屏幕,其中我在网格视图中显示应用程序列表。我的主屏幕的第一个屏幕上有一些动画,当您按下按钮时,会显示一个网格。所以,问题是;1))。我从gridview打开了一个应用程序,它正常打开,但是当我从那个特定的应用程序退出时,BACKButton将我带到GridView的屏幕。(没关系)。现在,当我按下 HOME 按钮时,它所做的工作与在 BACKBUTTON 上所做的工作相同。

我正在使用这些按钮,dispatchKeyEvent(KeyEvent event)但它不适用于主页按钮。从逻辑上讲,我不应该工作,因为这dispatchKeyEvent(KeyEvent event)适用于我的应用程序,不适用于任何其他应用程序。

我找到了一些其他途径来解决这个问题,

当我打开其他应用程序时,在我的主屏幕中调用 onPause() 和 onStop() 函数,假设我在那里设置了一个标志,但是通过这样做,我怎么能知道在其他应用程序用户按主页按钮完成他的事情之后或返回按钮。

4

2 回答 2

0

dispatchKeyEvent(KeyEvent event)将无法捕捉主页按钮的点击。如果要捕获主页按钮,请单击使用onUserLeaveHint()。而要捕获返回按钮专门使用onBackPressed().

于 2013-09-25T23:05:55.033 回答
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 中的正常活动

我希望你有解决方案。

于 2013-07-17T08:19:13.920 回答