安卓BLE连接CC2541开发记录

Posted 乔海权_429512***杭州

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓BLE连接CC2541开发记录相关的知识,希望对你有一定的参考价值。

1. 现在遇到的问题,手机进入休眠状态后唤醒,APP软件和CC2541的通信不正常了,但是CC2541依然检测到时连接状态。如何解决这个问题?手机唤醒之后会重新创建活动?

2.Wakelock 锁机制:
应用程序可以通过申请 wakelock 锁的机制来对系统是否待机作出投票,当有任何一个应用申请了 wakelock 锁,待机时没有释放掉,系统是不会进入待机的,直到所有应用的 wakelock 锁都释放掉了,才会进入待机。本次是否可以使用这个锁?让系统不待机,如果不待机,功耗多吗?假如有QQ开着的话,系统本来就待机的吗?

3. 看下锁的代码

 1  /**        
 2   * 获取电源锁,保持该服务在屏幕熄灭时仍然获取CPU时,保持运行
 3   */
 4  private void acquireWakeLock() {
 5   if (null == wakeLock) {
 6    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
 7    wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
 8      | PowerManager.ON_AFTER_RELEASE, getClass()
 9      .getCanonicalName());
10    if (null != wakeLock) {
11     Log.i(TAG, "call acquireWakeLock");
12     wakeLock.acquire();
13    }
14   }
15  }
16 
17  // 释放设备电源锁
18  private void releaseWakeLock() {
19   if (null != wakeLock && wakeLock.isHeld()) {
20    Log.i(TAG, "call releaseWakeLock");
21    wakeLock.release();
22    wakeLock = null;
23   }
24  }

4. 活动在唤醒之后是否会重新创建?旋转屏幕的时候会


以上是关于安卓BLE连接CC2541开发记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 和 TI BLE CC2541 之间发送文本?

CC2540 / CC2541 竟然支持 Bluetooth BLE 5.0?

CC2540/CC2541/CC254x之OSAL操作系统抽象层

CC2540/CC2541/CC254x之OSAL操作系统抽象层

BLE4.0之自定义服务(CC2541)

BLE4.0之新增特征值(CC2541)