首页 新闻 会员 周边

蓝牙服务启动时不成功

0
悬赏园豆:10 [已解决问题] 解决于 2015-03-13 10:43

我是在自定义的view中启动一个蓝牙服务(不知是否有问题):

Intent gattServiceIntent = new Intent(getContext(), BluetoothLeService.class);
Boolean flag=getContext().bindService(gattServiceIntent, mServiceConnection, getContext().BIND_AUTO_CREATE);

启动完成后,我立即连接:

mBluetoothLeService.connect(CurrentAddress);

程序运行到这里一直报空指针,经查是因为mBluetoothLeService没有初始化,更进一步原因是在启动mBluetoothLeService服务时根本就没有调用onBind函数,这是什么原因呢?

菜鸟的梦醒的主页 菜鸟的梦醒 | 初学一级 | 园豆:71
提问于:2015-03-13 09:47
< >
分享
最佳答案
0

问题找到了,是因为bindService是一个异步方法,它会在connect执行完成后再执行,所以mBluetoothLeService不会被初始化总是空。

菜鸟的梦醒 | 初学一级 |园豆:71 | 2015-03-13 10:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册