反编译了Bluetooth Keepalive,代码很少,证实了我对它原理的猜测。不过它代码里用的WakeLock不是Partial的,我试着改成了Partial后,一样运作的很好,不知道作者的为什么不用Partial。

顺带反编译了豆瓣电台,发现它没用WakeLock,不知道为什么锁屏后也会继续运行,但蓝牙却会断开,很奇怪。有空把WakeLock加到它的Service里,这样就可以避免启动那个Bluetooth Keepalive了。当然最好的办法还是向豆瓣工程师汇报……

Update: 向豆瓣汇报了,得到一个模板回答……