Android 7.0(华为荣耀2平板)蓝牙与蓝牙模块4.0通信

1,问题:开发的蓝牙软件安装到平板上与蓝牙模块进行通信时,可以连接,但是不能通信。onServicesDiscovered(BluetoothGatt gatt, int status)方法并没有回调,onConnectionStateChange(BluetoothGatt gatt, int status, int newState)回调中 new state先为2后断开链接 变为1,但是又有部分模块又能正常连接。

方案:开始以为是root权限没有获取,但是后来查了一些资料说与root权限没有太大关系,也不方便将公司的新平板root掉,所以在检查了之后,发现在其他一些手机、平板平台上可以正常通信,考虑是andriod系统的问题。

另外Android6.0 蓝牙需要加上GPS权限并打开定位 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />  

网上查了资料之后,确实Android7.0系统需要硬件与之进行匹配,应该是硬件设备不兼容新的andriod系统的缘故。

2,问题:Android手机在开发调试时logcat不显示输出信息的解决办法

问题表现:连接手机与电脑后,驱动安装正确,USB调试模式打开,在DDMS中可以看到device及其进程的信息,但是logcat中就是没有信息输出
问题原因:一些rom默认关闭logcat
问题说明:ddms中设备名字显示为问号不影响,即adb get-serialno显示为问号不影响.
解决方法:
1.需要root权限(部分rom不需要)
2.打开logcat,并设置level,执行命令如下(android 升级之后 adb 在 platform-tools中,不在tools中)
adb shell
echo 1 > /sys/kernel/logger/log_main/enable
说明:将1写入日志开关文件,1为开,0为关
echo 2 >/sys/kernel/logger/log_main/priority
说明:将代表level的2写入优先级文件
3.重启adb,如果使用eclipse,先关闭eclipse,再重启adb,再启动eclipse
adb kill-server
adb start-server
4.此时logcat应该可以工作了,如果仍旧不工作,则更新adb
android update adb
5.重复第三步,此时logcat应该可以工作了,如果仍旧不工作,找到个人主目录下的android目录,如C:\Documents and Settings\Administrator\.android
找到这个目录下的adb_usb.ini文件,其内容默认只有三行,全为注释,在后面添加一行,内容为0x12d1

6.重复第三步,此时logcat应该可以工作了

猜你喜欢

转载自blog.csdn.net/ruxiaWang/article/details/79628169