为什么接收 Intent 会调用 onPause()



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

根据下面的堆栈跟踪,接收新的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)

问候

此行为是意料之中的。我查看了 Android 源代码 (v2.3.7(,在收到 Intent 之前,活动已暂停。

最新更新