大家好我正在使用下面的代码设置闹钟 广播是在活动中设置的,因此没有在清单中注册....
问题:当我选择时间并设置闹钟时,如果我没有按下后退按钮并且我没有销毁该活动但是当我按下后退按钮时,警报没有工作
设置闹钟的代码
Log.i(String.valueOf(millisecond),convertedDate.toString());
Log.i(date,convertedDate.toString());
Intent myIntent = new Intent(ACTION_NAME);
PendingIntent pendingIntent = PendingIntent.getBroadcast(Reminder.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(millisecond);
calendar.add(Calendar.SECOND, 3);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY , pendingIntent);
Toast.makeText(Reminder.this, "Alarm Set", Toast.LENGTH_LONG).show();
}
同一活动中的广播接收器
BroadcastReceiver alarmReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context, "Alarm worked", Toast.LENGTH_LONG).show();
Intent x= new Intent(context,MyAlarmService.class);
startService (x);
}
};
答案 0 :(得分:0)
您正在创建一个匿名内部类来接收广播。此类无法在您的应用外实例化。
实现“普通”类以用作广播接收器,并在应用程序清单中注册此接收器。