【问题标题】:onPause() and onResume() functions while designing the home screen设计主屏幕时的 onPause() 和 onResume() 函数
【发布时间】:2013-07-17 06:07:26
【问题描述】:

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

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

我找到了一些其他的方法来解决这个问题,

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

【问题讨论】:

  • 请告诉我你想要什么按 Home 键...
  • 我想显示我正在应用动画并向用户提供按钮以打开 gridView 的 HomeScreen 的第一个屏幕。
  • 当用户点击侧gridview的应用图标时,你应该添加finish()
  • 当我这样做时,由于完成()调用,它把我带出了我的主屏幕。正如我在我的问题中提到的,我能够检测到用户已经从 gridview 打开了另一个应用程序但我怎么知道用户按 BACKBUTTON 或 HOMEBUTTON 退出应用程序。
  • @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { } if (keyCode == KeyEvent.KEYCODE_HOME) { }}

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


【解决方案1】:

你应该像下面的代码那样声明你的家庭活动

 <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>

并在 Manifest 中将 gridactivity 声明为正常活动

希望你能找到解决办法。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多