设计主屏幕时onPause()和onResume()函数

时间:2013-07-17 06:07:27

标签: android android-activity onresume onpause application-start

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

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

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

当我打开其他应用程序时,在我的主屏幕中调用onPause()和onStop()函数,假设我在那里设置了一个标志,但是通过这样做我怎样才能知道在OTher应用程序用户中做了他的东西之后按HOME BUTTON或BACK BUTTON。

2 个答案:

答案 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()