0

この方法でアラームマネージャーを設定しています:

public void setAlarmManager(Context context, Intent intent, long repeat) {

        PendingIntent pendingIntent;
        pendingIntent = PendingIntent.getService(context, 0, intent, 0);

        AlarmManager alarmManager = (AlarmManager) context
                .getSystemService(context.ALARM_SERVICE);

        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.SECOND, 10);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                calendar.getTimeInMillis(), repeat, pendingIntent);
    }

この方法では、一定時間後に特定の番号でSMSを送信しています.しかし、この方法は一貫性がありません.特に、スリープモードに入ると機能しません.スリープモードで動作しますか?

4

1 に答える 1

0

AlarmManagerアラーム付きは、_WAKEUPを使用した場合にデバイスをスリープ状態にしないことを保証するだけですgetBroadcast() PendingIntent

作業に数ミリ秒しかかからない場合は、に切り替えてServiceくださいBroadcastReceiver

作業に数ミリ秒以上かかる場合は、アラームを使用して作業を確実に実行できるようにするためのパターンを提供するmyの使用を検討してください。WakefulIntentService_WAKEUP

于 2012-04-24T13:53:55.287 に答える