【发布时间】:2014-09-14 11:48:18
【问题描述】:
我有一个应用程序,每次用户访问该应用程序时,我都必须显示启动画面。那是他是否重新启动应用程序,或者他是否预先启动他的应用程序,或者他是否单击启动器图标。
问题是,在启动屏幕之后,我还想回到他离开应用程序时可见的最后一个活动(以防它不是新的开始)
为了解决这个问题,我扩展了应用程序并实现了 ActivityLifecycleCallbacks。
所以当我的应用程序处于免费状态并回到前台时,我会从
启动启动画面@Override
public void onActivityStarted(Activity activity) {
//launch splash screen
}
现在,一旦启动画面工作完成,我就会将其杀死,然后我会回到用户最后一次使用应用程序时应用程序进入后台之前的任何活动。
这里似乎工作正常,但我不断收到以下错误:
09-14 16:44:46.746: E/ActivityThread(5622): Performing pause of activity that is not resumed: {SignInActivity}
09-14 16:44:46.746: E/ActivityThread(5622): java.lang.RuntimeException: Performing pause of activity that is not resumed: {SignInActivity}
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3015)
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3003)
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2981)
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread.access$1000(ActivityThread.java:135)
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
09-14 16:44:46.746: E/ActivityThread(5622): at android.os.Handler.dispatchMessage(Handler.java:102)
09-14 16:44:46.746: E/ActivityThread(5622): at android.os.Looper.loop(Looper.java:136)
09-14 16:44:46.746: E/ActivityThread(5622): at android.app.ActivityThread.main(ActivityThread.java:5001)
09-14 16:44:46.746: E/ActivityThread(5622): at java.lang.reflect.Method.invokeNative(Native Method)
09-14 16:44:46.746: E/ActivityThread(5622): at java.lang.reflect.Method.invoke(Method.java:515)
09-14 16:44:46.746: E/ActivityThread(5622): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
09-14 16:44:46.746: E/ActivityThread(5622): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
09-14 16:44:46.746: E/ActivityThread(5622): at dalvik.system.NativeStart.main(Native Method)
所以我有两个问题:
- 我该怎么做才能不出现此错误。
- 有没有更好的方法来处理我上面提到的流程:我必须显示启动屏幕,然后确保最后一个可见的活动?
谢谢, 晴天
【问题讨论】:
-
发布您的相关代码。
-
你是如何处理 SignInActivity 的?
标签: android android-activity activity-lifecycle