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 に答える