時計の目覚ましを深夜に設定しました。しかし、アラームを設定すると、ブロードキャストレシーバーがトリガーされますか?アプリ起動時にアラームを設定しました。コード:
//set the alarm
protected void onCreate(Bundle savedInstanceState) {
as=new AlarmSetter();
as.SetAlarma(this); .........
//the AlarmSetter
public class AlarmSetter {
public void SetAlarma(Context context){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);
Intent intent = new Intent(context, AlarmKicked.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 1333333, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,
pendingIntent);
}
}
//and my Broadcast reciever
public class AlarmKicked extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
NotificationsA.Notizer(context);
System.out.println("IT IS MIDNIGHT! SETTING TIMER..");
}
}
//Manifest
<receiver android:name=".AlarmKicked" android:process=":remote"/>
アプリを起動すると、Allarmを設定しますが、同時にLogcatにアクセスします:IT IS MIDNIGHT!タイマーの設定..開始時にBroadcastrecieverをトリガーするものは何ですか?
編集:
動作します!:
public void SetAlarma(Context context){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR, 0);
calendar.add(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.AM_PM, Calendar.AM);