首先,需要确认设备上是否开启了“睡眠检测”选项。另外,可以尝试使用以下代码:
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::MyWakelockTag");
wakeLock.acquire();
// 执行你的操作
wakeLock.release();
这段代码将创建一个唤醒锁,并在执行操作后释放它。这可以确保设备在执行操作期间不会休眠。如果仍然无法获取数据,则可能需要考虑使用第三方库或者更改设备设置。