0

我们正在为 Android TV 开发企业应用程序、小部件和启动器。我们有运行我们的启动器、一些小部件和应用程序的 Android 机顶盒。小部件在启动时在启动器中具有固定位置。

我们在启动器中得到了 android.os.transactiontoolargeexception。异常是随机生成的。通常我们观察到,当我们长时间保持盒子运行时,我们会遇到这个问题。我们的盒子将在客户端运行 24 * 7。所以这个问题对我们来说至关重要。

究竟发生了什么,

1 . 当我们得到这个异常启动器崩溃。我们有一些服务,我们正在从启动器的 onCreate() 向警报管理器注册。

2 . 由于我们只有一个启动器,它在崩溃后会尝试重新启动我们的启动器。因此它进入循环。

3 . 我们所有的服务每次都在循环中重新注册。

4 . 我们的启动器没有显示。我们将它连接到 HDMI 显示器。

我们无法找到问题的确切原因。附加日志相同。如果有人可以提出一些解决方案,那么将不胜感激。

  W/ActivityManager( 3376):   Force finishing activity com.sample.core.launcher/.HomeActivity

  I/ActivityManager( 3376): Process com.sample.core.launcher (pid 27399) has died.

  I/ActivityManager( 3376): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.sample.core.launcher/.HomeActivity u=0} from pid 0

  I/ActivityManager( 3376): Start proc com.sample.core.launcher for activity com.sample.core.launcher/.HomeActivity: pid=27426 uid=1000 gids={3003, 1015, 1028, 2001, 3002, 3001}

  E/AndroidRuntime(27426): FATAL EXCEPTION: main

  E/AndroidRuntime(27426): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.core.launcher/com.sample.core.launcher.HomeActivity}: java.lang.RuntimeException: system server dead?

  E/AndroidRuntime(27426):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.access$600(ActivityThread.java:130)

  E/AndroidRuntime(27426):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)

  E/AndroidRuntime(27426):  at android.os.Handler.dispatchMessage(Handler.java:99)

  E/AndroidRuntime(27426):  at android.os.Looper.loop(Looper.java:137)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.main(ActivityThread.java:4745)

  E/AndroidRuntime(27426):  at java.lang.reflect.Method.invokeNative(Native Method)

  E/AndroidRuntime(27426):  at java.lang.reflect.Method.invoke(Method.java:511)

  E/AndroidRuntime(27426):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)

  E/AndroidRuntime(27426):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)

  E/AndroidRuntime(27426):  at dalvik.system.NativeStart.main(Native Method)

  E/AndroidRuntime(27426): Caused by: java.lang.RuntimeException: system server dead?

  E/AndroidRuntime(27426):  at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:133)

  E/AndroidRuntime(27426):  at com.sample.core.launcher.HomeActivity.onStart(HomeActivity.java:2027)

  E/AndroidRuntime(27426):  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1173)

  E/AndroidRuntime(27426):  at android.app.Activity.performStart(Activity.java:5132)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)

  E/AndroidRuntime(27426):  ... 11 more

  E/AndroidRuntime(27426): Caused by: android.os.TransactionTooLargeException

  E/AndroidRuntime(27426):  at android.os.BinderProxy.transact(Native Method)

  E/AndroidRuntime(27426):  at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.startListening(IAppWidgetService.java:382)

  E/AndroidRuntime(27426):  at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:130)

  E/AndroidRuntime(27426):  ... 15 more

  W/ActivityManager( 3376):   Force finishing activity com.sample.core.launcher/.HomeActivity

  I/ActivityManager( 3376): Process com.sample.core.launcher (pid 27426) has died.

  I/ActivityManager( 3376): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.sample.core.launcher/.HomeActivity u=0} from pid 0

谢谢

4

1 回答 1

0

这是为 Google TV 开发的开源启动器:https ://github.com/entertailion/Open-Launcher-for-GTV

也许你可以安装这个启动器,看看它的行为是否相同。Open Launcher 不支持小部件,但它具有所有其他家庭启动器功能。

于 2013-05-10T19:46:27.620 回答