【问题标题】:Unable to pause activity exception in android无法在android中暂停活动异常
【发布时间】:2014-01-17 08:54:28
【问题描述】:

您好,我正在开发小型 android 应用程序。所以我的应用程序包含以下内容。 3 活动考虑 A1、A2、A3。 A1 是我的启动器活动。我的应用程序还包含一项后台服务。因此,当我单击 A1 内的按钮时,它将启动后台服务。

在后台服务中,我正在启动 A2。我还在服务中进行了一些计算,所以在这些计算之后,我仅从服务开始活动 A3。所以我的问题就在这里,当我从 A1 启动服务时,它会从服务中打开 A2。如果我从那里(A2 到 A1)单击返回,它将返回到 A1。但是在(A1 -> 服务 -> A2 -> A3(这也是从服务开始))的情况下,如果我单击返回,则会导致无法暂停活动异常错误。它不会恢复 A1。

当我从服务开始活动时,我使用的是Intent.FLAG_ACTIVITY_NEW_TASK。哪里有问题?需要帮助谢谢

看看这是我的错误日志:

01-17 14:45:03.689: E/AndroidRuntime(27805): FATAL EXCEPTION: main
01-17 14:45:03.689: E/AndroidRuntime(27805): java.lang.RuntimeException: Unable to pause activity { ABC/ ABC.map.MapActivity}: java.lang.IllegalStateException
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2709)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2665)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2643)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.access$800(ActivityThread.java:124)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.os.Looper.loop(Looper.java:137)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.main(ActivityThread.java:4436)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at java.lang.reflect.Method.invokeNative(Native Method)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at java.lang.reflect.Method.invoke(Method.java:511)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at dalvik.system.NativeStart.main(Native Method)
01-17 14:45:03.689: E/AndroidRuntime(27805): Caused by: java.lang.IllegalStateException
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.media.MediaPlayer._stop(Native Method)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.media.MediaPlayer.stop(MediaPlayer.java:977)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at  ABC.map.MapActivity.onPause(MapActivity.java:170)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.Activity.performPause(Activity.java:4564)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1195)
01-17 14:45:03.689: E/AndroidRuntime(27805):    at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2696)
01-17 14:45:03.689: E/AndroidRuntime(27805):    ... 12 more

【问题讨论】:

  • 请贴出你的logcat和相关代码。谢谢。
  • 是的,请稍等。我会发布它
  • 覆盖A2活动内部的onBackPressed()方法,通过intent启动活动。
  • 好的,明白了。但另一点是,当我从 A2 中单击时,它会返回到 A1,但是如果尝试从 A2 中返回到 A1,则会出现此错误。
  • 在完成 A2 活动之前,当您从 A2 活动中按下后退按钮时。无需后退,因为 A1 是您的主要活动。

标签: android service onpause


【解决方案1】:

这是因为您的A2 Activity 没有启动。 您需要检查 onCreate()onStart() 方法是否在您的 A2 Activity 中完成,然后您必须启动 A3 Activity

【讨论】:

  • 感谢您的快速帮助先生。我不明白你的意思。它显示了 A2 的 UI,那么我怎么能说 A2 没有启动。和 A3 到 A2 在背压上正常工作,只有从 A2 到 A1 不工作。均值(A2 到 A1 工作)。但是(A3 到 A2 到 A1 不起作用。)。有什么解决办法吗?
  • 可能你在 MapActivity.onPause() 方法中有异常?
  • 如果我对 A2 和 A3 都使用透明顶部会怎样。因为当我点击返回时,我没有必要保留这两个。没事吧?
  • 是的,我遇到了问题。 A2 暂停时出现问题。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多