0

根据Android 的 Activity lifecyle,只有在另一个 Activity 调用到前台时才会调用方法 Activity.onPause() 。我的应用程序只有一个活动,它本身是用 android:launchMode="singleTask" 设置的。

根据下面的stackstrace,接收到一个新的Intent会触发Activity.onPause()。

谁能解释为什么?

堆栈跟踪:

android.app.Activity.performPause(Activity.java:3877)
android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1191)
android.app.ActivityThread.performNewIntents(ActivityThread.java:1736)
android.app.ActivityThread.handleNewIntent(ActivityThread.java:1746)
android.app.ActivityThread.access$2300(ActivityThread.java:117)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:982)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:130)
android.app.ActivityThread.main(ActivityThread.java:3691)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
dalvik.system.NativeStart.main(Native Method)

问候,

4

1 回答 1

0

这种行为是预期的。我查看了 Android 源代码 (v2.3.7),在收到 Intent 之前,活动已暂停。

于 2012-05-22T03:39:57.200 回答