【发布时间】:2016-03-13 00:52:31
【问题描述】:
我给自己买了一块运行 Android KitKat 的智能手表。 我已使用蓝牙将它连接到我的 HTC m9 智能手机。 我创建了一个在智能手表(客户端模式)和智能手机(服务器模式)上运行的应用程序。 应用程序通过蓝牙 Socket 连接相互通信。
当我在手机上接到电话时,我会通过蓝牙插座向手表发送蓝牙通知并使其振动。
只要手表的 CPU 正常运行,一切都会好起来的。 当手表进入睡眠状态并且我在智能手机上接到电话时,手表不会处理通知,因为手表的 CPU 正在睡眠。
在手表上使用部分锁定可以做到这一点,但它会消耗电池电量。 我不需要对手机进行部分锁定,因为当手机接到电话时,手机会“神奇”地唤醒,所以我的应用程序的服务能够发送通知。
我也不能在手表上使用 AlarmManager,因为我需要在收到蓝牙套接字通知时唤醒手表,而不是定期唤醒。
WakefullRecevier 也没有解决问题,因为我的手表需要先唤醒,以便 WakefullReceiver 设置电源锁(或者我弄错了吗?!)并运行其代码。
所以问题是:电话如何在来电时唤醒?还是收到短信?这是硬件问题..中断? 有没有什么方法可以在收到蓝牙消息时唤醒手表?
谢谢
【问题讨论】: