質問

We are developing enterprise applications, widgets and launcher for Android TV. We have Android set top box which runs our launcher, some widgets and apps. Widgets have fixed position in launcher when it starts.

We are getting android.os.transactiontoolargeexception in our launcher. The exception is generated randomly. Generally we have observed that when we keep box running for long time, we are facing this issue. Our box is going to run 24 * 7 at client side. So this issue is critical for us.

What is happening exactly is,

1. When we get this exception launcher crashes. We have some services which we are registering with alarm manager from our launcher's onCreate().

2. As we have only one launcher, after crashing it tries to re launch our launcher. Hence it enters into loop.

3. All our services are re registered every time in loop.

4. We do not get display for our launcher. We connect it to HDMI monitor.

We are not able to get exact cause of problem. Attaching log for the same. If anyone can suggest some solution then it will be very much appreciated.

  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

Thanks

役に立ちましたか?

解決

Here is a open source launcher developed for Google TV: https://github.com/entertailion/Open-Launcher-for-GTV

Maybe you could install this launcher and see if it behaves in the same way. Open Launcher does not support widgets but it has all the other home launcher features.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top