0

私はAndroidデバイス用の簡単なサービスを書こうとしました。のように見えます

public void onReceive(Context context, Intent intent) {
    // do something

    // new alarm
    setNextAlarm(context);

}
public static void setNextAlarm(Context context) {
    Intent myIntent = new Intent(context, MainReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

    // trigger
    Calendar cal = Calendar.getInstance();

    // here is possible that trigger time will be different by each call
    long triggerTime =  computeNextTriggerTime();
    long triggerAtTime = cal.getTimeInMillis() + triggerTime;

    alarmManager.setInexactRepeating(AlarmManager.RTC, triggerAtTime, triggerTime, pendingIntent);
}

まあ、私はそれが機能することに気づきました、しかし時々それは数日または数時間の使用の後にクラッシュします、そしてそれはコードのためではなく、ロジックを実行し、そして私がここに投稿しなかったと確信しています。

トリガー時間は10〜30分です。

すべての助けに感謝します:)

4

0 に答える 0