2个接收器使用单个报警管理器对象调用

时间:2013-10-13 12:03:19

标签: android broadcastreceiver alarmmanager

我有两个广播接收器:

  1. 发送短信。

  2. 管理通知。

  3. 我必须在指定的时间调用两个接收器。

    我该怎么做?有可能吗?

    呼叫通知警报的代码如下:

    AlarmManager alarmManager=(AlarmManager) context.getSystemService(context.ALARM_SERVICE);
            Intent intent=new Intent(context,specialNotification.class);
            Bundle bu=new Bundle();
            bu.putString("TITLE", title);
            bu.putString("BODY", body);
            bu.putInt("ICON", icon);
            bu.putLong("TIME", t);
            intent.putExtras(bu);
            //Toast.makeText(context, ""+_id, 3000).show();
            //Toast.makeText(context, "REpeat Alarm", 3000).show();
            PendingIntent pi=PendingIntent.getBroadcast(context, _id, intent, 0);
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, t, MILLISECONDS_IN_YEAR, pi);
    

    请帮我拨打短信接收器

    提前致谢..

2 个答案:

答案 0 :(得分:1)

您可以通过拨打SMS接收器来实现两个接收器,并且可以通过SMS reciver创建通知。

答案 1 :(得分:0)

我相信你可以为你的短信广播接收者和Intent创建一个新的PendingIntent,并将其传递的ID值与你传递给通知PendingIntent的ID值不同。

AlarmManager alarmManager=(AlarmManager) context.getSystemService(context.ALARM_SERVICE);
Intent notifIntent = new Intent(context,specialNotification.class);
Intent smsIntent = new Intent(context,Your_SMS_Receiver.class);

Bundle bu=new Bundle();
bu.putString("TITLE", title);
bu.putString("BODY", body);
bu.putInt("ICON", icon);
bu.putLong("TIME", t);
intent.putExtras(bu);

PendingIntent notifPI = PendingIntent.getBroadcast(context, NOTIFICATION_ID, notifIntent, 0);
PendingIntent smsPI = PendingIntent.getBroadcast(context, SMS_ID, smsIntent, 0);

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, t, MILLISECONDS_IN_YEAR, notifPI);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, t, MILLISECONDS_IN_YEAR, smsPI);