【问题标题】:Activity manager crash活动管理器崩溃
【发布时间】:2013-10-25 08:33:32
【问题描述】:

我在使用 android 应用程序时遇到了一些问题。我有 5 个活动、广播接收器和具有多线程的服务。当我在活动之间传递时,我的 logcat 中有一些错误:

10-25 11:22:20.255     448-3949/? E/ActivityManager﹕ Activity Manager Crash
java.lang.IllegalArgumentException: Unknown service start result: 15
        at com.android.server.am.ActiveServices.serviceDoneExecutingLocked(ActiveServices.java:1412)
        at com.android.server.am.ActivityManagerService.serviceDoneExecuting(ActivityManagerService.java:11398)
        at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:830)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1737)
        at android.os.Binder.execTransact(Binder.java:388)
        at dalvik.system.NativeStart.run(Native Method)

那是什么?希望有人告诉我!

【问题讨论】:

  • 您能展示一下您是如何启动服务的吗?你是否向它传递了多个意图?
  • 我猜这句话对你来说更有意义:java.lang.IllegalArgumentException: Unknown service start result: 15
  • 我通过不同活动的不同事件开始我的服务。调用这个方法: Intent serviceIntent = new Intent(this, ImageUploader.class); startService(serviceIntent);
  • 我了解您的政策 Keyser。但我只是在活动之间传递,并没有启动服务。

标签: android multithreading service android-activity


【解决方案1】:

希望对您有所帮助:

onStartCommand() 的注意事项:

intent 提供给startService(Intent) 的Intent,如给定。如果服务在其进程消失后重新启动,并且之前返回了除 START_STICKY_COMPATIBILITY 之外的任何内容,则该值可能为 null。

标志有关此启动请求的其他数据。目前要么0, START_FLAG_REDELIVERY, or START_FLAG_RETRY.

startId 表示此特定启动请求的唯一整数。与stopSelfResult(int) 返回一起使用。

  • 返回值指示系统应该使用什么语义 服务的当前启动状态。它可能是与START_CONTINUATION_MASK 位相关的常量之一

所以您需要返回 START_STICKY,或来自Click Here 的值之一

【讨论】:

  • 是的,我返回 START_STICKY 标志,错误消失了。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
相关资源
最近更新 更多