0
毎日午後10時にアンドロイドアプリケーションでアラームマネージャーを起動したいと思います。上記のLolipopバージョンで動作していますが、KitKatバージョンでは動作していません。 Androidマネージャーで動作していないアラームマネージャー
public static void startAlarmManagerOutTime(Context context) {
Calendar currentCal = Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 22);
calendar.set(Calendar.MINUTE,00);
long intendedTime = calendar.getTimeInMillis();
long currentTime = currentCal.getTimeInMillis();
alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent gpsTrackerIntent = new Intent(context1, AlarmReceiver.class);
PendingIntent pendingOutTimeIntent = PendingIntent.getBroadcast(context, 2, gpsTrackerIntent, 0);
if(intendedTime >= currentTime){
// you can add buffer time too here to ignore some small differences in milliseconds
// set from today
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, intendedTime, AlarmManager.INTERVAL_DAY, pendingOutTimeIntent);
} else{
// set from next day
// you might consider using calendar.add() for adding one day to the current day
calendar.add(Calendar.DAY_OF_MONTH, 1);
intendedTime = calendar.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, intendedTime, AlarmManager.INTERVAL_DAY, pendingOutTimeIntent);
}
}
この
は私が私のマニフェストにこれらの値を入れている受信機public class AlarmReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"AlarmReceiver",Toast.LENGTH_SHORT).show();
}
}
を放送している:
<receiver android:name=".com.test.Receiver.AlarmReceiver">
</receiver>