30

每次我在 WXGA800 模式下启动 4.0.3 模拟器时都会收到此消息。我的应用程序在不运行系统 UI 的情况下工作正常,除了操作栏不出现并且我无法测试我的操作栏功能。我的操作系统是 Win7 x64。SDK修订版19。有什么想法吗? 系统消息截图

堆栈跟踪:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: java.lang.RuntimeException: Tablet device cannot show navigation bar and system bar
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2263)
at android.app.ActivityThread.access$1600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Tablet device cannot show navigation bar and system bar
at com.android.systemui.statusbar.tablet.TabletStatusBar.makeStatusBarView(TabletStatusBar.java:451)
at com.android.systemui.statusbar.StatusBar.start(StatusBar.java:64)
at com.android.systemui.statusbar.tablet.TabletStatusBar.start(TabletStatusBar.java:390)
at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:93)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2253)

我想到了。当 hw.mainKeys 在 AVD 设置中设置为 false 时会发生这种情况。感谢您的回答!

4

6 回答 6

9

您不能同时拥有系统栏和导航栏:

原因:java.lang.RuntimeException:平板设备无法显示导航栏和系统栏

这取自TabletStatusBar#makeStatusBarView注释的来源:

     try {
         // Sanity-check that someone hasn't set up the config wrong and asked for a navigation
         // bar on a tablet that has only the system bar
         if (mWindowManager.hasNavigationBar()) {
             throw new RuntimeException(
                     "Tablet device cannot show navigation bar and system bar");
         }
     } catch (RemoteException ex) {
     }
于 2012-05-02T22:20:08.360 回答
8

hw.mainKeys=yes放入您的 .android->avd->youavdfoldername->config
打开文件并更改 hw.mainKeys=yes它对我的工作

于 2013-05-31T05:13:14.093 回答
4

也许删除您当前的 AVD 并尝试制作一个新的?有时模拟器只是表现得很时髦(或者您可能输入了错误的设置)。

于 2012-05-02T23:08:14.887 回答
1

当我第一次开始android开发时,我也遇到了同样的问题。我的系统很旧。它甚至不支持英特尔的 VT 技术。如果您的情况也是如此,请使用旧电脑制作具有小屏幕分辨率的 avd,而不是使用选项卡(Galaxy Nexus)。使用“WQVGA”之类的东西并将 RAM 更改为 1024 MB(如果您的系统大于该值)。然后部署。它对我有用。:)

于 2013-02-10T05:32:02.160 回答
1

我发布了 Seraph 找到的答案,以便其他人清楚。在 config.ini 文件中设置 hw.mainKeys=yes。在你的开发文件夹中检查它,然后 sdk /.android / avd /(你的 AVD 的名称)

我注意到这个错误只发生在 V.4.0 和 v.4.03 中。

于 2013-04-25T08:30:04.463 回答
0

chage 配置文件在 --> .android->avd->youavdfoldername->config
打开文件并更改
hw.dPad=yes
hw.mainKeys=yes

于 2013-06-04T04:59:36.607 回答