Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android无法正确连接到设备_Java_Android_Bluetooth_Bluetooth Lowenergy_Android Bluetooth - Fatal编程技术网

Java Android无法正确连接到设备

Java Android无法正确连接到设备,java,android,bluetooth,bluetooth-lowenergy,android-bluetooth,Java,Android,Bluetooth,Bluetooth Lowenergy,Android Bluetooth,首先,我正在使用一个红熊混合微控制器,试图通过BLE将数据发送到一个Android应用程序中,这是一个大学项目,该项目使用一些开源血糖仪硬件,并试图将其变成一个“智能”设备,附带一个记录数据的应用程序 当使用此处提供的示例红熊聊天应用程序时,此功能可以正常工作: 示例应用程序中的Logcat: 5-01 12:39:26.316 2753-2753/com.redbear.chat W/System: ClassLoader referenced unknown path: /data/app/

首先,我正在使用一个红熊混合微控制器,试图通过BLE将数据发送到一个Android应用程序中,这是一个大学项目,该项目使用一些开源血糖仪硬件,并试图将其变成一个“智能”设备,附带一个记录数据的应用程序

当使用此处提供的示例红熊聊天应用程序时,此功能可以正常工作:

示例应用程序中的Logcat:

5-01 12:39:26.316 2753-2753/com.redbear.chat W/System: ClassLoader referenced unknown path: /data/app/com.redbear.chat-1/lib/arm
05-01 12:39:26.406 2753-2753/com.redbear.chat D/SecWifiDisplayUtil: Metadata value : none
05-01 12:39:26.406 2753-2753/com.redbear.chat D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{6a1bff8 I.E...... R.....ID 0,0-0,0}
05-01 12:39:26.406 2753-2861/com.redbear.chat D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-01 12:39:26.456 2753-2861/com.redbear.chat I/Adreno: QUALCOMM build                   : d842ad3, Ia10634f51b
                                                        Build Date                       : 01/04/16
                                                        OpenGL ES Shader Compiler Version: XE031.06.00.05
                                                        Local Branch                     : mybranch17578993
                                                        Remote Branch                    : quic/LA.BF.2.1.2_rb1.7
                                                        Remote Branch                    : NONE
                                                        Reconstruct Branch               : NOTHING
05-01 12:39:26.456 2753-2861/com.redbear.chat D/libEGL: eglInitialize EGLDisplay = 0xae1e87c4
05-01 12:39:26.456 2753-2861/com.redbear.chat I/OpenGLRenderer: Initialized EGL, version 1.4
05-01 12:39:26.486 2753-2753/com.redbear.chat D/BluetoothGatt: connect() - device: F0:44:62:58:BB:ED, auto: false
05-01 12:39:26.486 2753-2753/com.redbear.chat D/BluetoothGatt: registerApp()
05-01 12:39:26.486 2753-2753/com.redbear.chat D/BluetoothGatt: registerApp() - UUID=345487dc-e3ef-4a26-866c-b504f43c14c3
05-01 12:39:26.526 2753-2753/com.redbear.chat D/RBLService: Trying to create a new connection.
05-01 12:39:26.526 2753-2769/com.redbear.chat D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5
05-01 12:39:26.536 2753-2753/com.redbear.chat W/DisplayListCanvas: DisplayListCanvas is started on unbinded RenderNode (without mOwningView)
05-01 12:39:26.536 2753-2753/com.redbear.chat W/DisplayListCanvas: DisplayListCanvas is started on unbinded RenderNode (without mOwningView)
05-01 12:39:26.546 2753-2861/com.redbear.chat D/libGLESv1: DTS_GLAPI : DTS is not allowed for Package : com.redbear.chat
05-01 12:39:26.576 2753-2861/com.redbear.chat V/RenderScript: 0x9e09e000 Launching thread(s), CPUs 4
05-01 12:39:26.586 2753-2753/com.redbear.chat D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 0) or=1
05-01 12:39:26.606 2753-2753/com.redbear.chat I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@ca8aa6a time:49435618
05-01 12:39:26.726 2753-2753/com.redbear.chat D/ViewRootImpl: MSG_RESIZED: ci=Rect(0, 96 - 0, 996) vi=Rect(0, 96 - 0, 996) or=1
05-01 12:39:28.976 2753-2809/com.redbear.chat D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=5 device=F0:44:62:58:BB:ED
05-01 12:39:28.986 2753-2809/com.redbear.chat I/RBLService: Connected to GATT server.
05-01 12:39:28.996 2753-2809/com.redbear.chat D/BluetoothGatt: discoverServices() - device: F0:44:62:58:BB:ED
05-01 12:39:28.996 2753-2809/com.redbear.chat I/RBLService: Attempting to start service discovery:true
05-01 12:39:29.276 2753-2768/com.redbear.chat D/BluetoothGatt: onClientConnParamsChanged() - Device=F0:44:62:58:BB:ED interval=6 status=0
05-01 12:39:29.536 2753-2768/com.redbear.chat D/BluetoothGatt: onSearchComplete() = Device=F0:44:62:58:BB:ED Status=0
05-01 12:39:29.536 2753-2753/com.redbear.chat D/BluetoothGatt: setCharacteristicNotification() - uuid: 713d0002-503e-4c75-ba94-3148f18d941e enable: true
05-01 12:39:29.566 2753-2809/com.redbear.chat D/BluetoothGatt: onClientConnParamsChanged() - Device=F0:44:62:58:BB:ED interval=39 status=0
05-01 12:39:34.846 2753-2769/com.redbear.chat D/BluetoothGatt: onClientConnParamsChanged() - Device=F0:44:62:58:BB:ED interval=18 status=0
05-01 12:40:25.866 2753-2753/com.redbear.chat V/ActivityThread: updateVisibility : ActivityRecord{f85a5ca token=android.os.BinderProxy@ca8aa6a {com.redbear.chat/com.redbear.chat.Chat}} show : true
05-01 12:40:31.266 2753-2753/com.redbear.chat D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 96 - 0, 1092) vi=Rect(0, 96 - 0, 1092) or=1
05-01 12:40:31.296 2753-2753/com.redbear.chat D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 0) or=1
但是,当我尝试将功能移植到我的应用程序中时,它们似乎没有正确连接,因为我没有获得到logcat的相同输出,相反,由于连接没有正确初始化,应用程序崩溃并出现空指针异常。因此,为了让设备成功连接,我不确定我做了哪些不正确的事情

我已尝试在以下文件中将示例中的功能移植到我的应用程序中:

MainActivity.java
Device.java
StoreReading.java
TakeReading.java
该应用程序位于我的github上


如有任何帮助/想法,将不胜感激

所以,在一些帮助下,我找到了今天导致这个问题的原因

结果发现bindService()正在悄无声息地失败

bindService(new Intent(this, RBLService.class), mServiceConnection, BIND_AUTO_CREATE);
这是因为我没有在清单文件中列出RBLService。(我这方面一个简单的新手错误…)

一旦此服务在清单文件中列出,它就会按预期工作

service
        android:name="com.fyp.rowan.bloodglucosev3.RBLService"
        android:enabled="true" />

所以,在一些帮助下,我找到了今天导致这个问题的原因

结果发现bindService()正在悄无声息地失败

bindService(new Intent(this, RBLService.class), mServiceConnection, BIND_AUTO_CREATE);
这是因为我没有在清单文件中列出RBLService。(我这方面一个简单的新手错误…)

一旦此服务在清单文件中列出,它就会按预期工作

service
        android:name="com.fyp.rowan.bloodglucosev3.RBLService"
        android:enabled="true" />

您会得到一个空指针异常。您应该确保不对可能为null的对象调用方法。在代码中,仅当服务绑定成功时,才会将变量设置为对象。当它解除绑定时,它被设置为空。当然,谢谢,我理解。但是,我不确定为什么这些设备一开始没有连接。。据我所知,我正在以与示例相同的方式进行操作。您将得到一个空指针异常。您应该确保不对可能为null的对象调用方法。在代码中,仅当服务绑定成功时,才会将变量设置为对象。当它解除绑定时,它被设置为空。当然,谢谢,我理解。但是,我不确定为什么这些设备一开始没有连接。。据我所知,我正在以与示例相同的方式进行操作。