0

当我在 Eclipse 上创建一个新的 BlueToothChat 项目时,它编译得非常好,然后我可以将它下载到我的 Galaxy S3(运行 Android 4.1.1)中。如果 BT 被禁用,它会要求启用它。当我这样做时,应用程序进入然后崩溃:

02-06 13:40:52.959: E/AndroidRuntime(25405): FATAL EXCEPTION: main
02-06 13:40:52.959: E/AndroidRuntime(25405): java.lang.NoSuchMethodError: com.example.android.BluetoothChat.BluetoothChat.getActionBar
02-06 13:40:52.959: E/AndroidRuntime(25405):    at com.example.android.BluetoothChat.BluetoothChat.setStatus(BluetoothChat.java:234)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at com.example.android.BluetoothChat.BluetoothChat.access$4(BluetoothChat.java:233)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at com.example.android.BluetoothChat.BluetoothChat$2.handleMessage(BluetoothChat.java:260)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at android.os.Looper.loop(Looper.java:150)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at android.app.ActivityThread.main(ActivityThread.java:4263)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at java.lang.reflect.Method.invokeNative(Native Method)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at java.lang.reflect.Method.invoke(Method.java:507)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-06 13:40:52.959: E/AndroidRuntime(25405):    at dalvik.system.NativeStart.main(Native Method)

然后我用运行 Android 2.3.5 的 HTC EVO 4G 重复了完全相同的测试。完全相同的问题!

我已经找到了这个问题,但答案不好。解释是显然 getActionBar() 调用会生成 NULL。我尝试了两种建议的解决方案,但都没有解决问题。一个本应完美无瑕的示例应用程序不起作用,这有点烦人!

关于如何使蓝牙聊天应用程序工作的任何其他建议?我需要将串行数据发送到一个应用程序,并找到了一个很好的教程,几乎可以使用这个应用程序,但如果应用程序在不同平台上崩溃,那就没用了。感谢您提供的任何意见!

4

2 回答 2

0

有两种方法可以使示例在您的设备上运行。首先只需注释这些代码行,这样它们就不会编译。第二种方法只是将ActionBarSherlock作为库添加到您的项目中,而不是getActionBar()使用getSupportActionBar().

于 2013-02-06T20:16:49.230 回答
0

您可以轻松找到与操作栏相关的所有代码,或者您可以在此链接中追踪问题的根源getActionBar return null

根据 android 文档,如果没有操作栏,Activity 将返回 null

请参阅此链接:Android getActionBar() Doc

于 2013-02-06T20:25:29.523 回答