0
ユーザー定義の間隔でサーバーにデータを送信するインテントサービスを作成しましたが、私の場合は、アラームマネージャによって間隔が正しく維持されません。私はどこでエラーを出しているのか教えてくれますか?私はスリープモードまたはアイドルモードでもデバイスを実行しながらサービスを実行したい。ここに私のコードです。インテントサービスの時間間隔が維持されていません
public void sosalarmson() {
Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, AlarmReceiver.receivercode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), Integer.parseInt(userdefinedinterval) *60* 1000, pendingIntent);
Toast.makeText(FinalSettings.this, "alarm On", Toast.LENGTH_SHORT).show();
}
理想的には、ユーザー入力を15とした場合、アラームは15分でインテントを送信する必要がありますが、10分で送信します。
は定義::私はこのコードを使用していますし、それが完璧に働いている
あなたはElapsedTimeの代わりにRTCを使用しましたが、ドキュメントごとにRTCはスリープモード(壁時計の時刻はUTC)の時間をカウントしません。それでも使用できますか? –
私は毎日22:00にこのコードを使用しています。そして、それは正確な期間を実行しています。 –
私は15分の間隔で実行したい場合は、_alarmを15 * 60 * 1000に置き換えます。しかし、どこに時間を置くのが好きなのかは、20時頃です。 –