0
我想運行兩個鬧鐘來顯示通知一個是每天一個我每小時在一個相同的接收器類和使用相同的功能,但問題是,當我分配一個另一個得到分配後我重新啓動我的設備,因爲因爲的BOOT_COMPLETED,所以我想知道有什麼辦法可以實現這一目標嗎?如何使用相同的接收機類和相同的功能設置多個鬧鐘?
我alarm_receiver類: -
public class alarmreceiver extends BroadcastReceiver {
static int id;
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm running", Toast.LENGTH_SHORT).show();
start(context,id);
}
static void start(Context context,int id) {
if (id==1) {
Intent intent = new Intent(context, notification_receiver.class);
PendingIntent pendingintent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(), 60 * 1000
, pendingintent);
} else
if (id == 2) {
Intent intent = new Intent(context, notification_receiver.class);
PendingIntent pendingintent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 10);
calendar.set(Calendar.MINUTE, 14);
calendar.set(Calendar.AM_PM, Calendar.PM);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingintent);
}
}
}
我打電話,我的主要活動此功能下按鈕單擊事件: -
butn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (r1.isChecked()) {
alarmreceiver.start(getApplicationContext(),2);
Toast.makeText(getApplicationContext(), "Daily Affirmations Scheduled", Toast.LENGTH_SHORT).show();
//
}
if(r2.isChecked())
{
alarmreceiver.start(getApplicationContext(),1);
Toast.makeText(getApplicationContext(), "Hourly Affirmations Scheduled", Toast.LENGTH_SHORT).show();
}
我怎麼能使用相同的報警接收器類實現這個並使用功能?謝謝。