2

我在通过 gsm 网络进行数据连接时遇到问题。设备休眠时无法与服务器交互。似乎移动网络关闭。打开显示移动连接时打开并自动再次发送请求。

在 wifi 模式下,我使用 WifiLock 但找不到这样的方法用于移动无线电/移动数据连接。

问候

4

2 回答 2

1

您可以使用 AlarmManager 来安排您的数据检查。设置 AlarmManager.RTC_WAKEUP 警报类型将导致设备在每次警报响起时唤醒(从而启动您的服务)。这应该可以为您提供所需的数据连接。

Intent intent = new Intent(this, MyService.class);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0);

AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
// Start every 30 seconds
alarm.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 30*1000, pendingIntent); 

看:

于 2013-02-07T22:02:05.687 回答
0

您可以使用WakeLock在屏幕关闭时保持 CPU / 无线电开启。小心使用。

于 2013-02-07T21:50:38.953 回答