0

我试图为安卓设备编写一个简单的服务。看起来像

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