2010-03-24 33 views
1

我正在嘗試在Android 1.6上使用藍牙編寫應用程序。由於它沒有官方的支持,我找到了android.bluetooth API的backport(http://code.google.com/p/backport-android-bluetooth)。但是當我部署示例聊天應用程序(修改爲backport)LogCat給我錯誤如下:Android 1.6上使用backport-android-bluetooth

我的問題是,我如何可以使用backport-android-bluetooth在1.6和有任何工作示例?

謝謝!

11-30 14:03:19.890: ERROR/AndroidRuntime(1927): Uncaught handler: thread main exiting due to uncaught exception 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927): java.lang.ExceptionInInitializerError 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at backport.android.bluetooth.BluetoothSocket.<init>(BluetoothSocket.java:69) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at backport.android.bluetooth.BluetoothServerSocket.<init>(BluetoothServerSocket.java:16) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at backport.android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:513) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at com.example.bluetooth.BluetoothChatService$AcceptThread.<init>(BluetoothChatService.java:237) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at com.example.bluetooth.BluetoothChatService.start(BluetoothChatService.java:109) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at com.example.bluetooth.BluetoothChat.onResume(BluetoothChat.java:138) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1225) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.Activity.performResume(Activity.java:3559) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2838) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2866) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread.access$2100(ActivityThread.java:116) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.os.Handler.dispatchMessage(Handler.java:99) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.os.Looper.loop(Looper.java:123) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.app.ActivityThread.main(ActivityThread.java:4203) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at java.lang.reflect.Method.invoke(Method.java:521) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at dalvik.system.NativeStart.main(Native Method) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927): Caused by: java.lang.UnsatisfiedLinkError: classInitNative 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.bluetooth.RfcommSocket.classInitNative(Native Method) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  at android.bluetooth.RfcommSocket.<clinit>(RfcommSocket.java:152) 
11-30 14:03:19.906: ERROR/AndroidRuntime(1927):  ... 21 more 

回答

1

我覺得這個backport藍牙不工作,因爲1.6屏蔽了使用過的api的。這是Google對1.6做的更新之一:防止開發人員使用內部API,我猜BT是其中之一... :(。

0

根據this issue在藍牙backport tracker上它應該可以在1.6 。Quote:「我成功地在HTC Magic(Android 1.6)上運行backport」

0

backport api在android 1.6上工作,按照項目主頁上給出的說明操作,我嘗試了藍牙聊天示例應用程序並且工作正常。

0

我長時間使用這個庫 - 它適用於某些手機,但不適用於其他手機,它的確取決於底層的Android Build ..